PHP使用phpMailer实现发送邮件功能

浏览:1314 时间:2019-09-08 15:29:51

具体源码:下载源码

PHP实现发送邮件验证的功能 ,首先需要发送者邮箱开启POP3/SMTP服务,并获取授权码;本实例以网易126邮箱为例,如何开启POP3/SMTP服务,并获取授权码,请自行百度。这个应该挺容易的

PHPMailer 需要 PHP 的 sockets 扩展支持 PHP 还得包含 openssl 的支持。 


使用 phpinfo() 函数查看 socket 和 openssl 扩展信息

openssl 如果没有开启请打开php.ini文件进行开启

首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;’, 如果不存在这行,那么添加extension=php_openssl.dll。

代码如下:

<?php 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
//以源码为例
require "/PHPMailer/src/Exception.php";
require "/PHPMailer/src/PHPMailer.php";
require "/PHPMailer/src/SMTP.php";
class Email {

/*发送邮件方法
*@param $to:接收者
*@param $title:标题
*@param $content:邮件内容
*@return bool true:发送成功 false:发送失败
*/
public function sendMail($to,$title,$content){
$mail = new PHPMailer;
//使用smtp鉴权方式发送邮件
$mail->isSMTP();
//smtp需要鉴权
$mail->SMTPAuth = true;
//网易126邮箱的 smtp服务器地址,也可以写其他的smtp服务器地址
$mail->Host = 'smtp.126.com';
//smtp登录的账号 这里填入网易126邮箱
$mail->Username = 'test@126.com';
//网易126邮箱的授权码,
$mail->Password = 'asdfghjkloiuy';
$mail->setFrom('test@126.com', 'send_user_name');//send_user_name:可以自定义
//收件人的邮箱地址,如果想一次性发送向多个邮箱地址,则只需要将下面这个方法多次调用即可
$mail->addAddress($to);
//该邮件的主题
$mail->Subject = $title;
//该邮件的正文内容
$mail->Body = $content;
//使用 send() 方法发送邮件
if(!$mail->send()) {
return '发送邮件失败: ' . $mail->ErrorInfo;
} else {
return "发送邮件成功";
}
}

}


标签: 邮件 php phpMailer