微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

phpmailer使用qq邮箱、163邮箱成功发送邮件实例代码

以前使用QQ邮箱、163服务器发送邮件,帐号直接使用密码,现在不行了,得使用授权码,简单记录下

1、首先开通POP3/SMTP服务,QQ邮箱——帐号——设置,找到POP3/SMTP点开启,输入短信会有授权码,复制好,发送邮件需要用到

 

2、下载PHPmailer:PHPMailer/PHPMailer" rel="nofollow" target="_blank">https://github.com/PHPMailer/PHPMailer

下载后只取用到的:

class.PHPmailer.PHP、class.PHPmaileroauth.PHP、class.pop3.PHP、class.smtp.PHPPHPMailerAutoload.PHP。 

fdba42e1c7354033078b.jpg" alt="这里写图片描述">

 

3、写代码邮件

test.PHP

 

PHP 发送邮件方法 *@param $to:接收者 $title:标题 $content:邮件内容 *@return bool true:发送成功 false:发送失败 sendMail(,,</span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;引入<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Mailer的核心<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a> 使用require_once包含避免出现<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Mailer类重复定义的警告</span> <span style="color: #0000ff;"&gt;require_once</span>("<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>mailer/class.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>mailer.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>"<span style="color: #000000;"&gt;); </span><span style="color: #0000ff;"&gt;require_once</span>("<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>mailer/class.smtp.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>"<span style="color: #000000;"&gt;); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;实例化<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Mailer核心类</span> <span style="color: #800080;"&gt;$mail</span> = <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; <a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>Mailer(); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 <a href="https://www.jb51.cc/tag/mo/" target="_blank" class="keywords">默</a>认<a href="https://www.jb51.cc/tag/guanbi/" target="_blank" class="keywords">关闭</a>debug调试模式</span> <span style="color: #800080;"&gt;$mail</span>->SMTPDebug = 1<span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;使用smtp鉴权方式<a href="https://www.jb51.cc/tag/fasongyoujian/" target="_blank" class="keywords">发送邮件</a></span> <span style="color: #800080;"&gt;$mail</span>-><span style="color: #000000;"&gt;isSMTP(); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;smtp需要鉴权 这个必须是true</span> <span style="color: #800080;"&gt;$mail</span>->SMTPAuth=<span style="color: #0000ff;"&gt;true</span><span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;<a href="https://www.jb51.cc/tag/lianjie/" target="_blank" class="keywords">链接</a>qq域名邮箱的服务器地址</span> <span style="color: #800080;"&gt;$mail</span>->Host = 'smtp.qq.com';<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;163邮箱:smtp.163.com //设置使用ssl加密方式<a href="https://www.jb51.cc/tag/denglu/" target="_blank" class="keywords">登录</a>鉴权</span> <span style="color: #800080;"&gt;$mail</span>->SMTPSecure = 'ssl';<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;163邮箱就注释 //设置ssl连接smtp服务器的远程服务器端口号,以前的<a href="https://www.jb51.cc/tag/mo/" target="_blank" class="keywords">默</a>认是25,但是现在新的好像已经不可用了 可选465或587</span> <span style="color: #800080;"&gt;$mail</span>->Port = 465;<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;163邮箱:25 //设置smtp的helo消息头 这个可有可无 内容任意 // $mail->Helo = 'Hello smtp.qq.com Server'; //设置发件人的主机域 可有可无 <a href="https://www.jb51.cc/tag/mo/" target="_blank" class="keywords">默</a>认为localhost <a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>任意,建议使用你的域名</span> <span style="color: #800080;"&gt;$mail</span>->Hostname = 'http://localhost/'<span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;设置发送的<a href="https://www.jb51.cc/tag/youjian/" target="_blank" class="keywords">邮件</a>的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码</span> <span style="color: #800080;"&gt;$mail</span>->CharSet = 'UTF-8'<span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;设置发件人姓名(昵称) 任意<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>,<a href="https://www.jb51.cc/tag/xianshi/" target="_blank" class="keywords">显示</a>在收件人<a href="https://www.jb51.cc/tag/youjian/" target="_blank" class="keywords">邮件</a>的发件人邮箱地址前的发件人姓名</span> <span style="color: #800080;"&gt;$mail</span>->FromName = 'xxxxx'<span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;smtp<a href="https://www.jb51.cc/tag/denglu/" target="_blank" class="keywords">登录</a>的账号 这里填入字符串格式的qq号即可</span> <span style="color: #800080;"&gt;$mail</span>->Username ='xxxxx@qq.com'<span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;smtp<a href="https://www.jb51.cc/tag/denglu/" target="_blank" class="keywords">登录</a>的密码 使用<a href="https://www.jb51.cc/tag/shengcheng/" target="_blank" class="keywords">生成</a>的授权码(就刚才叫你保存的最新的授权码)</span> <span style="color: #800080;"&gt;$mail</span>->Password = '填写第1步<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a>的授权码';<span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;163邮箱也有授权码 进入163邮箱帐号<a href="https://www.jb51.cc/tag/huoqu/" target="_blank" class="keywords">获取</a> //设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”</span> <span style="color: #800080;"&gt;$mail</span>->From = 'xxxxx@qq.com'<span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;<a href="https://www.jb51.cc/tag/youjian/" target="_blank" class="keywords">邮件</a>正文是否为html编码 注意此处是<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a><a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a> 不再是<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a> true或false</span> <span style="color: #800080;"&gt;$mail</span>->isHTML(<span style="color: #0000ff;"&gt;true</span><span style="color: #000000;"&gt;); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;设置收件人邮箱地址 该<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>有两个参数 第<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a>参数为收件人邮箱地址 第二参数为给该地址设置的昵称 不同的邮箱系统会<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>进行处理变动 这里第二个参数的意义不大</span> <span style="color: #800080;"&gt;$mail</span>->addAddress(<span style="color: #800080;"&gt;$to</span>,'爱<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>,爱生活世界'<span style="color: #000000;"&gt;); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;添加多个收件人 则多次调用方法即可 // $mail->addAddress('xxx@163.com','爱<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>,爱生活世界'); //<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>该<a href="https://www.jb51.cc/tag/youjian/" target="_blank" class="keywords">邮件</a>的<a href="https://www.jb51.cc/tag/zhuti/" target="_blank" class="keywords">主题</a></span> <span style="color: #800080;"&gt;$mail</span>->Subject = <span style="color: #800080;"&gt;$title</span><span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a><a href="https://www.jb51.cc/tag/youjian/" target="_blank" class="keywords">邮件</a>正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>读取本地的html<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a></span> <span style="color: #800080;"&gt;$mail</span>->Body = <span style="color: #800080;"&gt;$content</span><span style="color: #000000;"&gt;; </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;为该邮件添加附件 该方法也有两个参数 第一个参数为附件存放的目录(相对目录、或绝对目录均可) 第二参数为在邮件附件中该附件的名称 // $mail->addAttachment('./d.jpg','mm.jpg'); //同样该<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>可以多次<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a> <a href="https://www.jb51.cc/tag/shangchuan/" target="_blank" class="keywords">上传</a>多个附件 // $mail->addAttachment('./Jlib-1.1.0.js','Jlib.js');</span> <span style="color: #800080;"&gt;$status</span> = <span style="color: #800080;"&gt;$mail</span>-><span style="color: #000000;"&gt;send(); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt;简单的判断与<a href="https://www.jb51.cc/tag/tishi/" target="_blank" class="keywords">提示</a>信息</span> <span style="color: #0000ff;"&gt;if</span>(<span style="color: #800080;"&gt;$status</span><span style="color: #000000;"&gt;) { </span><span style="color: #0000ff;"&gt;return</span> <span style="color: #0000ff;"&gt;true</span><span style="color: #000000;"&gt;; }</span><span style="color: #0000ff;"&gt;else</span><span style="color: #000000;"&gt;{ </span><span style="color: #0000ff;"&gt;return</span> <span style="color: #0000ff;"&gt;false</span><span style="color: #000000;"&gt;; }

}

<span style="color: #008000;">//<span style="color: #008000;">测试
<span style="color: #800080;">$flag = sendMail('xxxxxx@163.com','注册成功','恭喜你加入爱代码,爱生活世界'<span style="color: #000000;">);
<span style="color: #0000ff;">if(<span style="color: #800080;">$flag<span style="color: #000000;">){
<span style="color: #0000ff;">echo "发送邮件成功!"<span style="color: #000000;">;
}<span style="color: #0000ff;">else<span style="color: #000000;">{
<span style="color: #0000ff;">echo "发送邮件失败!"<span style="color: #000000;">;
}

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐