| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <?php
- /**
- * This example shows settings to use when sending over SMTP with TLS and custom connection options.
- */
- //Import the PHPMailer class into the global namespace
- use PHPMailer\PHPMailer\PHPMailer;
- //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('Etc/UTC');
- require '../vendor/autoload.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 = 2;
- //Set the hostname of the mail server
- $mail->Host = 'smtp.example.com';
- //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';
- //Custom connection options
- //Note that these settings are INSECURE
- $mail->SMTPOptions = array (
- 'ssl' => [
- 'verify_peer' => true,
- 'verify_depth' => 3,
- 'allow_self_signed' => true,
- 'peer_name' => 'smtp.example.com',
- 'cafile' => '/etc/ssl/ca_cert.pem',
- ]
- );
- //Whether to use SMTP authentication
- $mail->SMTPAuth = true;
- //Username to use for SMTP authentication - use full email address for gmail
- $mail->Username = 'username@example.com';
- //Password to use for SMTP authentication
- $mail->Password = 'yourpassword';
- //Set who the message is to be sent from
- $mail->setFrom('from@example.com', 'First Last');
- //Set who the message is to be sent to
- $mail->addAddress('whoto@example.com', 'John Doe');
- //Set the subject line
- $mail->Subject = 'PHPMailer SMTP options 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__));
- //Send the message, check for errors
- if (!$mail->send()) {
- echo 'Mailer Error: ' . $mail->ErrorInfo;
- } else {
- echo 'Message sent!';
- }
|