学习PHP实现SMTP邮件的发送
发布:smiling 来源: PHP粉丝网 添加日期:2022-07-06 10:42:26 浏览: 评论:0
当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!
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);
Tags: SMTP邮件发送 PHP邮件发送
- 上一篇:了解php判断电子邮件是否正确方法
- 下一篇:最后一页
相关文章
- ·利用PHPMailer来完成PHP的邮件发送(2015-12-10)
- ·php 邮件发送问题解决(2020-11-03)
- ·php带抄送和密件抄送的邮件发送方法(2021-05-17)
- ·PHP测试成功的邮件发送案例(2021-06-22)
- ·php邮件发送的两种方式(2021-06-23)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)