前言

这几天一直被邮件发送功能搞得头大,作为一个小白,遇到坑总是难免的。今天终于把phpmailer搞定了,下面就来总结一下

PHPMailer - A full-featured email creation and transfer class for PHP。

在PHP环境中可以使用PHPMailer来创建和发送邮件。

最新版本(20181012)是PHPMailer 6.0.5,这个无法兼容php5.5以下的环境。由于我需要维护php5.3的项目,需要切换到PHPMailer5.2来发送邮件。

下载地址: https://github.com/PHPMailer/PHPMailer/releases/tag/v5.2.24

下面话不多说了,来一起看看详细的介绍吧

基本使用

下载解压后。新建一个测试demo。

<?phprequire "PHPMailerAutoload.php";$mail = new PHPMailer;$mail->SMTPDebug = 3;        // Enable verbose debug output$mail->isSMTP();          // Set mailer to use SMTP$mail->Host = "smtp.exmail.qq.com"; // Specify main and backup SMTP servers$mail->SMTPAuth = true;        // Enable SMTP authentication$mail->Username = "xxx@qq.com";     // SMTP username$mail->Password = "yourpassword";       // SMTP password$mail->SMTPSecure = "ssl";       // Enable TLS encryption, `ssl` also accepted$mail->Port = 465;         // TCP port to connect to$mail->setFrom("fromWho@qq.com", "Mailer");$mail->addAddress("toWhom@qq.com", "Ryan Miao");  // Add a recipient$mail->addAddress("ellen@example.com");    // Name is optional// $mail->addReplyTo("info@example.com", "Information");$mail->addCC("cc@example.com");$mail->addBCC("bcc@example.com");$mail->addAttachment("/var/tmp/file.tar.gz");   // Add attachments$mail->addAttachment("/tmp/image.jpg", "new.jpg"); // Optional name$mail->isHTML(true);         // Set email format to HTML$mail->Subject = "Here is the subject";$mail->Body = "This is the HTML message body <b>in bold!</b>";$mail->AltBody = "This is the body in plain text for non-HTML mail clients";if(!$mail->send()) { echo "Message could not be sent."; echo "Mailer Error: " . $mail->ErrorInfo;} else { echo "Message has been sent";}

开启SMTPDebug可以查看日志

 `0` No output `1` Commands `2` Data and commands `3` As 2 plus connection status `4` Low-level data output

错误信息保存在 $mail->ErrorInfo对象中。

保存为mail.php, 命令行执行

php mail.php

即可看到日志,以及邮件发送成功。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对网页设计的支持。