PHP实现SMTP邮件的发送实例

 更新时间:2018年09月27日 10:58:50   作者:你看我哪里像好人  
在本篇文章中我们给大家详细分享了PHP实现SMTP邮件的发送的相关实例内容,有兴趣的朋友们可以学习下。

当你还在纠结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 字符串 小常识

    PHP 字符串 小常识

    字符串 注意单引号和双引号的区别
    2009-06-06
  • php实现的Timer页面运行时间监测类

    php实现的Timer页面运行时间监测类

    这篇文章主要介绍了php实现的Timer页面运行时间监测类,可实现按不同key检测不同的运行时间,需要的朋友可以参考下
    2014-09-09
  • PHP发送短信代码分享

    PHP发送短信代码分享

    最近要用php发送和接收短信,用户订单要用短信通知一类的功能,网上看了好多短信平台感觉都不靠谱。也测试了很多代码,下面把几款好用的分享给大家
    2015-08-08
  • php将xml转化对象的实例详解

    php将xml转化对象的实例详解

    在本篇文章里小编给大家整理的是一篇关于php将xml转化对象的实例详解内容,有需要的朋友们可以跟着学习下。
    2021-10-10
  • PHP实现递归的三种方法

    PHP实现递归的三种方法

    这篇文章主要介绍了PHP实现递归的三种方法,文中讲解非常详细,示例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • php str_pad 函数使用详解

    php str_pad 函数使用详解

    今天一朋友问我str_pad()的使用方法.他说网上很多都是直接把手册上的拿过来.于是我来写详细点. str_pad()函数的作用是:用一个字符串填充另一个指定字符串到指定长度。
    2009-01-01
  • php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

    php中&&和||逻辑运算符的高级简写(缩写条件)用法由浅入深讲解

    php中if进行多条件判断时,使用逻辑运算符&&和||(and和or),这样的写法很常见也很熟悉。&&和||还有高级简写(缩写条件)用法,比如单独一行中“条件A||条件B”进行了什么操作?本文将由浅入深详细讲解php中&&和||逻辑运算符的高级简写(缩写条件)用法。
    2022-11-11
  • 对比分析php中Cookie与Session的异同

    对比分析php中Cookie与Session的异同

    这篇文章主要通过多方面对比分析php中Cookie与Session的区别,分别对Cookie与Session做一个简单介绍和总结,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • PHP使用PHPexcel导入导出数据的方法

    PHP使用PHPexcel导入导出数据的方法

    这篇文章主要介绍了PHP使用PHPexcel导入导出数据的方法,以实例形式较为详细的分析了PHP使用PHPexcel实现数据的导入与导出操作相关技巧,需要的朋友可以参考下
    2015-11-11
  • 如何修改和添加Apache的默认站点目录

    如何修改和添加Apache的默认站点目录

    本篇文章是对修改和添加Apache的默认站点目录方法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07

最新评论