diff --git a/inc/email_functions.inc.php b/inc/email_functions.inc.php index c23215e3..1e1f8956 100644 --- a/inc/email_functions.inc.php +++ b/inc/email_functions.inc.php @@ -35,6 +35,7 @@ /* Check if this is a valid include */ if (!defined('IN_SCRIPT')) {die('Invalid attempt');} +require_once(HESK_PATH . 'modsForHesk_settings.inc.php'); /* Get includes for SMTP */ if ($hesk_settings['smtp']) @@ -323,7 +324,7 @@ function hesk_validEmails() function hesk_mail($to,$subject,$message,$cc=array(),$bcc=array()) { - global $hesk_settings, $hesklang; + global $hesk_settings, $hesklang, $modsForHesk_settings; // Demo mode if ( defined('HESK_DEMO') ) @@ -348,8 +349,42 @@ function hesk_mail($to,$subject,$message,$cc=array(),$bcc=array()) # echo "

TO: $to
SUBJECT: $subject
MSG: $message

"; # return true; + // Use mailgun + if ($modsForHesk_settings['use_mailgun']) + { + ob_start(); + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, "https://api.mailgun.net/v2/".$modsForHesk_settings['mailgun_domain']."/messages"); + + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_USERPWD, 'api:' . $modsForHesk_settings['mailgun_api_key']); + + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); + + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, + array( + 'from' => $hesk_settings['from_header'], + 'to' => $to, + 'h:Reply-To'=> $hesk_settings['from_header'], + 'subject' => $subject, + 'text' => $message + )); + + $result = curl_exec($ch); + curl_close($ch); + + $tmp = trim(ob_get_contents()); + ob_end_clean(); + + return (strlen($tmp)) ? $tmp : true; + } // Use PHP's mail function - if ( ! $hesk_settings['smtp']) + elseif ( ! $hesk_settings['smtp']) { // Set additional headers $headers = "From: $hesk_settings[from_header]\n";