扣丁学堂PHP培训分享PHP实现SMTP邮件的发送实例

2019-09-02 10:14:54 3329浏览

不知道各位小伙伴们是否有纠结PHP内置的mail()函数不能发送邮件的,如果有的话,那么这篇文章也许可以帮助到你。PHP利用smtp类来发邮件真是屡试不爽,本篇文章扣丁学堂PHP培训小编就给读者们分享一下PHP实现SMTP邮件的发送实例,感兴趣的小伙伴就来了解一下吧。

扣丁学堂PHP培训分享PHP实现SMTP邮件的发送实例

smtp类发送邮件的方法其实很简单,也很稳定,类是别人已经写好的了,你只需要调用就行了。几行简单的配置就能发邮件。


<?php
 
/**
 * @param $address mixed 收件人 多个收件人/或需要设置收件人昵称时为数组 array($address1,$address1)/array(array('address'=>$address1,'nickname'=>$nickname1),array('address'=>$address2,'nickname'=>$nickname2))
 * @param $subject string 邮件主题
 * @param $body string 邮件内容
 * @param $file string 附件
 * @return bool|string 发送成功返回true 反之返回报错信息
 * @throws Exception
 */
function send_mail_by_smtp($address, $subject, $body, $file = '')
{
 require('./PHPMailer-master/Exception.php');
 require('./PHPMailer-master/PHPMailer.php');
 require('./PHPMailer-master/SMTP.php');
 
 //date_default_timezone_set("Asia/Shanghai");//设定时区东八区
 
 $mail = new PHPMailer();
 
 //Server settings
 $mail->SMTPDebug = 2;
 $mail->isSMTP();     // 使用SMTP方式发送
 $mail->Host = 'smtp.126.com';    // SMTP邮箱域名
 $mail->SMTPAuth = true;    // 启用SMTP验证功能
 $mail->Username = "*****@126.com";   // 邮箱用户名(完整email地址)
 $mail->Password = "*****";    // smtp授权码,非邮箱登录密码
 $mail->Port = 25;
 $mail->CharSet = "utf-8";    //设置字符集编码 "GB2312"
 
 // 设置发件人信息,显示为 你看我那里像好人(xxxx@126.com)
 $mail->setFrom($mail->Username, '你看我那里像好人');
 
 //设置收件人 参数1为收件人邮箱 参数2为该收件人设置的昵称 添加多个收件人 多次调用即可
 //$mail->addAddress('********@163.com', '你看我那里像好人');
 
 if (is_array($address)) {
 foreach ($address as $item) {
 if (is_array($item)) {
 $mail->addAddress($item['address'], $item['nickname']);
 } else {
 $mail->addAddress($item);
 }
 }
 } else {
 $mail->addAddress($address, 'adsf');
 }
 
 
 //设置回复人 参数1为回复人邮箱 参数2为该回复人设置的昵称
 //$mail->addReplyTo('*****@126.com', 'Information');
 
 if ($file !== '') $mail->AddAttachment($file); // 添加附件
 
 $mail->isHTML(true); //邮件正文是否为html编码 true或false
 $mail->Subject = $subject; //邮件主题
 $mail->Body = $body;  //邮件正文 若isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取的html文件
 //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; //附加信息,可以省略
 
 return $mail->Send() ? true : 'ErrorInfo:' . $mail->ErrorInfo;
}
 
$path = '.\wpic907.jpg';
$ret = send_mail_by_smtp('*******@163.com', 'PHPMailer邮件标题', 'PHPMailer邮件内容', $path);

想要了解更多关于PHP开发方面内容的小伙伴,请关注扣丁学堂PHP培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的PHP讲师为您指导,此外扣丁学堂老师精心推出的PHP视频教程定能让你快速掌握PHP从入门到精通开发实战技能。扣丁学堂PHP技术交流群:374332265。


                          JavaEE/微服务/源码解析/分布式/企业级架构【VIP体验课】


     【关注微信公众号获取更多学习资料】        【扫码进入JavaEE/微服务VIP免费公开课】  



查看更多关于“php培训资讯”的相关文章>>

标签: PHP培训 PHP视频教程 PHP在线视频 PHP学习视频 Laravel框架

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号