phpmailer是PHP项目中使用较多的收发邮件的第三方插件,可运行在大多数服务器平台上,发送邮时指定多个收件人,抄送地址,暗送地址和回复地址;注:添加抄送、暗送仅win平台下smtp方式支持,兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等。
phpmailer使用非常简单,开发者只需要自定义一个函数,在该函数中引入phpmailer的开发包中的class.phpmailer.php类即可,eg:
include ‘PHPMailer/PHPMailer.php’
$mail = new PHPMailer();
try{
//邮件调试模式
$mail->SMTPDebug = 2;
//设置邮件使用SMTP
$mail->isSMTP();
// 设置邮件程序以使用SMTP
$mail->Host = 'smtp.aliyun.com';
// 设置邮件内容的编码
$mail->CharSet='UTF-8';
// 启用SMTP验证
$mail->SMTPAuth = true;
// SMTP username
$mail->Username = 'username';
// SMTP password
$mail->Password = 'password';
// 启用TLS加密,`ssl`也被接受
// $mail->SMTPSecure = 'tls';
// 连接的TCP端口
// $mail->Port = 587;
//设置发件人
$mail->setFrom('fajian@aliyun.com', 'fajian');
// 添加收件人1
$mail->addAddress('123456@qq.com', 'qq'); // Add a recipient
// $mail->addAddress('ellen@example.com'); // Name is optional
// 收件人回复的邮箱
$mail->addReplyTo('fajian@aliyun.com', 'fajian');
// 抄送
// $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
//Content
// 将电子邮件格式设置为HTML
$mail->isHTML(true);
$mail->Subject = '邮件主题';
$mail->Body = '邮件正文部分';
// $mail->AltBody = '这是非HTML邮件客户端的纯文本';
$mail->send();
echo 'Message has been sent';
$mail->isSMTP();
}catch (Exception $e){
echo 'Mailer Error: ' . $mail->ErrorInfo;
}
也可以把邮件服务器信息单独配置到配置文件中,邮件服务器端口号支持465,25等多个端口,具体参见你所使用的邮箱提供商的规定。de>Password网易直接输入邮箱密码即可【有授权码输授权码】,QQ请输授权码,发个短信就能生成。
Username的话,网易直接使用邮箱名即可,QQ邮箱请输入邮箱前缀【用户名】『eg.1457995581@qq.com 请输入1457995581』
注:作为用户名username的邮箱需要开通 IMAP/SMTP服务,可登录邮箱在『设置』里进行设置。