本文实例为大家分享了phpmailer发送邮件的具体代码,供大家参考,具体内容如下
phpmailer类源代码下载地址:https://github.com/phpmailer/phpmailer
<?php
/*
to: 邮件接收地址
subject: 邮件主题
body: 邮件内容
attachpath:附件地址
cc: 邮件抄送地址
bcc: 邮件暗抄送地址
*/
function send_mail($to, $subject="", $body="", $attachpath="", $cc="", $bcc="")
{
// 对邮件内容进行必要的过滤
$body = eregi_replace("[]",'',$body);
// 设定时区
date_default_timezone_set("prc");
require_once('class.phpmailer.php');
require_once("class.smtp.php");
// 实例化phpmailer对象
$mail = new phpmailer();
// 设定邮件编码,默认iso-8859-1,如果发中文此项必须设置为 utf-8
$mail->charset ="utf-8";
// 设定使用smtp服务
$mail->issmtp();
// 启用 smtp 验证功能
$mail->smtpauth = true;
// smtp 安全协议
$mail->smtpsecure = "ssl";
// smtp 服务器
$mail->host = "smtp.qq.com";
// smtp服务器的端口号
$mail->port = 465;
// smtp服务器用户名和密码
$mail->username = "xxxxxx@qq.com";
$mail->password = "xxxxxx";
// 设置发件人地址和名称,名称可有可无
$mail->setfrom("xxxxxx@qq.com", "xxxxxx");
// 设置邮件接收地址和名称,第二个参数无所谓。必须用addaddress添加邮件接收地址。addreplyto方法没什么用。
//$mail->addreplyto("xxxxxx@163.com", "xxxxxx");
$mailaddrs = split(",", $to);
foreach ($mailaddrs as $addres)
{
//校验邮箱地址是否合法
if (filter_var($addres, filter_validate_email))
{
$mail->addaddress($addres);
}
}
// 设置邮件抄送地址
if ($cc != "")
{
$ccaddrs = split(",", $cc);
foreach ($ccaddrs as $ccaddr)
{
//校验邮箱地址是否合法
if (filter_var($ccaddr, filter_validate_email))
{
$mail->addcc($ccaddr);
}
}
}
// 设置邮件暗抄送地址,私密发送
if ($bcc != "")
{
$bccaddrs = split(",", $bcc);
foreach ($bccaddrs as $bccaddr)
{
//校验邮箱地址是否合法
if (filter_var($bccaddr, filter_validate_email))
{
$mail->addbcc($bccaddr);
}
}
}
// 设置邮件主题
$mail->subject = $subject;
// 可选项,向下兼容考虑
$mail->altbody = "为了查看该邮件,请切换到支持 html 的邮件客户端";
// 设置邮件内容
$mail->msghtml($body);
//使用html格式发送邮件
$mail->ishtml(true);
// 添加附件,第一个参数是附件地址,第二个参数附件名
//$mail->addattachment("images/phpmailer.gif");
$mail->addattachment($attachpath);
// 发送邮件
if(!$mail->send())
{
echo "发送失败:" . $mail->errorinfo . php_eol;
}
else
{
echo "恭喜,邮件发送成功!" . php_eol;
}
}
$emailaddr = "xxxxxx@163.com,xxxxxx@qq.com,";
send_mail($emailaddr, "测试邮件", "<h1>使用phpmailer类发送的邮件。</h1>", "mail/20170216.gif", "xxxxxx@qq.com", "");
?>
测试结果:
说明:第44行的smtp服务器密码为qq邮箱授权码。
登录qq邮箱->设置->账户->pop3/imap/smtp/exchange/carddav/caldav服务->生成授权码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持硕编程。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!