当你还在纠结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);

相关学习推荐:PHP编程从入门到精通

更多相关文章

  1. 教你使用mixphp打造多进程异步邮件发送
  2. PHP发送邮件:如何自定义reply-to头部以及附件
  3. Mac下使用php的error_log()函数发送邮件
  4. Linux定时任务邮件信息占盘磁盘
  5. 为什么jQuery的电子邮件验证regex如此简单?
  6. 如何用Cdont+ASP发送带附件的html格式邮件
  7. Outlook Express 无法读取Html邮件的解决办法
  8. css字体大小在苹果邮件中比gmail (iphone)要小
  9. php实现邮件自动发送之PHPMailer

随机推荐

  1. 总结关于文件记录操作实例教程
  2. 推荐10个后端系统实例
  3. xml配置的用法汇总
  4. 谈谈实现多渠道的实例教程
  5. 推荐10个常用的排序、分页用法
  6. 脚本控制的用法汇总
  7. 谈谈XMLTextReader的现状、前景与机遇
  8. 关于Xstream的7篇文章推荐
  9. 关于省份名称的详细介绍
  10. 关于XmlPullParser的5篇文章推荐