Last active
December 10, 2022 22:23
-
-
Save akhileshdarjee/e4bc07fd7f542937086fcfa51cb03086 to your computer and use it in GitHub Desktop.
Mailgun PHPMailer SMTP integration
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* This example shows settings to use when sending via Mailgun. | |
*/ | |
//SMTP needs accurate times, and the PHP time zone MUST be set | |
//This should be done in your php.ini, but this is how to do it if you don't have access to that | |
date_default_timezone_set('Asia/Kolkata'); | |
require 'PHPMailerAutoload.php'; | |
//Create a new PHPMailer instance | |
$mail = new PHPMailer; | |
//Tell PHPMailer to use SMTP | |
$mail->isSMTP(); | |
//Enable SMTP debugging | |
// 0 = off (for production use) | |
// 1 = client messages | |
// 2 = client and server messages | |
$mail->SMTPDebug = 0; | |
//Ask for HTML-friendly debug output | |
$mail->Debugoutput = 'html'; | |
//Set the hostname of the mail server - MailGun "SMTP Hostname" | |
$mail->Host = 'smtp.mailgun.org'; | |
// use | |
// $mail->Host = gethostbyname('smtp.gmail.com'); | |
// if your network does not support SMTP over IPv6 | |
//Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission | |
$mail->Port = 587; | |
//Set the encryption system to use - ssl (deprecated) or tls | |
$mail->SMTPSecure = 'tls'; | |
//Whether to use SMTP authentication | |
$mail->SMTPAuth = true; | |
//Username to use for SMTP authentication - MailGun "Default SMTP Login" | |
$mail->Username = "postmaster@domain_name"; | |
//Password to use for SMTP authentication - MailGun "Default Password" | |
$mail->Password = "MailGun Default Password"; | |
//Set who the message is to be sent from | |
$mail->setFrom('From Address', 'Sender Name'); | |
//Set an alternative reply-to address | |
$mail->addReplyTo('Reply To', 'Sender Name'); | |
//Set who the message is to be sent to | |
$mail->addAddress('Send To', 'Sender Name'); | |
//Set the subject line | |
$mail->Subject = 'Test'; | |
//Read an HTML message body from an external file, convert referenced images to embedded, | |
//convert HTML into a basic plain-text alternative body | |
// $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); | |
$msg = "This is a test message body"; | |
$mail->Body = $msg; | |
//Replace the plain text body with one created manually | |
$mail->AltBody = 'This is a plain-text message body'; | |
//Attach an image file | |
// $mail->addAttachment('images/phpmailer_mini.png'); | |
//send the message, check for errors | |
if (!$mail->send()) { | |
header('HTTP/1.1 500 Internal Server Error', true, 500); | |
} else { | |
header('HTTP/1.1 200 OK', true, 200); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment