使用PHPMailer发送邮件实例

Cherise ·
更新时间:2024-11-14
· 738 次阅读

本文实例为大家分享了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服务->生成授权码


您可能感兴趣的文章:PHPMailer使用教程(PHPMailer发送邮件实例分析)PHPMailer邮件类利用smtp.163.com发送邮件方法phpmailer简单发送邮件的方法(附phpmailer源码下载)phpmailer在服务器上不能正常发送邮件的解决办法Linux服务器下PHPMailer发送邮件失败的问题解决PHP使用PHPMailer发送邮件的简单使用方法thinkphp使用phpmailer发送邮件的方法phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法PHP借助phpmailer发送邮件PHPMailer ThinkPHP实现自动发送邮件功能



phpmailer 邮件

需要 登录 后方可回复, 如果你还没有账号请 注册新账号