php smtp报文_PHP实现SMTP邮件的发送实例

当你还在纠结php内置的mail()函数不能发送邮件时,那么你现在很幸运,此时的这篇文章可以帮助到你!

php利用smtp类来发邮件真是屡试不爽,我用过很久了,基本上没出过问题。本博客后台,当博主回复留言时候,会自动给网友发一封有新回复提示的邮件也是用的本文这个方法实现的。

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

/**

* @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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值