49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @file mailgun.api.php
 | |
|  * @date 2019-04-12
 | |
|  * @author Go Namhyeon <gnh1201@gmail.com>
 | |
|  * @brief Mailgun REST API interface module
 | |
|  * @documentation https://documentation.mailgun.com/en/latest/api-sending.html
 | |
|  */
 | |
| 
 | |
| if(!is_fn("mailgun_get_config")) {
 | |
|   function mailgun_get_config() {
 | |
|     $config = get_config();
 | |
|     
 | |
|     return array(
 | |
|       "domain" => get_value_in_array("mailgun_domain", $config, ""),
 | |
|       "name" => get_value_in_array("mailgun_name", $config, "John Doe"),
 | |
|       "from" => get_value_in_array("mailgun_from", $config, ""),
 | |
|       "apikey" => get_value_in_array("mailgun_apikey", $config, ""),
 | |
|     );
 | |
|   }
 | |
| }
 | |
| 
 | |
| if(!is_fn("mailgun_send_message")) {
 | |
|   function mailgun_send_message($content, $to, $subject="Untitled") {
 | |
|     $response = false;
 | |
| 
 | |
|     // get mailgun configuration
 | |
|     $cnf = mailgun_get_config();
 | |
| 
 | |
|     // make request
 | |
|     if(loadHelper("webpagetool")) {
 | |
|       $response = get_web_json(sprintf("https://api.mailgun.net/v3/%s/messages", $domain), array(
 | |
|         "headers" => array(
 | |
|           "Content-Type" => "multipart/form-data",
 | |
|           "Authentication" => array("Basic", "api", $cnf['apikey']),
 | |
|         ),
 | |
|         "data" => array(
 | |
|           "from" => sprintf("%s <%s>", $cnf['name'], $cnf['from']),
 | |
|           "to" => $to,
 | |
|           "subject" => $subject,
 | |
|           "text" => $content,
 | |
|         ),
 | |
|       ));
 | |
|     }
 | |
| 
 | |
|     return $response;
 | |
|   }
 | |
| }
 |