PHP 调用qq邮箱接口
<p><span style="font-size: 18px">html代码</span></p><div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"><!</span><span style="color: rgba(255, 0, 255, 1)">DOCTYPE html</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">html</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">meta </span><span style="color: rgba(255, 0, 0, 1)">charset</span><span style="color: rgba(0, 0, 255, 1)">="UTF-8"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">title</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">script </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="https://code.jquery.com/jquery-1.9.1.min.js"</span><span style="color: rgba(0, 0, 255, 1)">></</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">head</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">script </span><span style="color: rgba(255, 0, 0, 1)">type</span><span style="color: rgba(0, 0, 255, 1)">="text/javascript"</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">function</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> yx(){
$.ajax({
type:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">"</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">post</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">"</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">,
url:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">"</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">./mailbox.php</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">"</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">,
data:{},
jsonType:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">"</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">json</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">"</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">,
success:</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">function</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">(mag){
</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">if</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)"> (mag</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">==</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">1</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">) {
alert(</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">发送成功</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">'</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">);
}</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 255, 1)">else</span><span style="background-color: rgba(245, 245, 245, 1); color: rgba(0, 0, 0, 1)">{
alert(mag);
}
}
})
}
</span><span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 128, 0, 1)"><!--</span><span style="color: rgba(0, 128, 0, 1)"> 点击触发yx方法调用php发送邮件 </span><span style="color: rgba(0, 128, 0, 1)">--></span>
<span style="color: rgba(0, 0, 255, 1)"><</span><span style="color: rgba(128, 0, 0, 1)">a </span><span style="color: rgba(255, 0, 0, 1)">href</span><span style="color: rgba(0, 0, 255, 1)">="javascript:;"</span><span style="color: rgba(255, 0, 0, 1)"> onclick</span><span style="color: rgba(0, 0, 255, 1)">="yx()"</span><span style="color: rgba(0, 0, 255, 1)">></span>邮箱<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">a</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">body</span><span style="color: rgba(0, 0, 255, 1)">></span>
<span style="color: rgba(0, 0, 255, 1)"></</span><span style="color: rgba(128, 0, 0, 1)">html</span><span style="color: rgba(0, 0, 255, 1)">></span></pre>
</div>
<p><span style="font-size: 18px">PHP代码如下</span></p>
<div class="cnblogs_code">
<pre><?<span style="color: rgba(0, 0, 0, 1)">php
</span><span style="color: rgba(0, 0, 255, 1)">function</span> sendMail(<span style="color: rgba(128, 0, 128, 1)">$to</span>,<span style="color: rgba(128, 0, 128, 1)">$title</span>,<span style="color: rgba(128, 0, 128, 1)">$content</span><span style="color: rgba(0, 0, 0, 1)">){
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">引入PHPMailer的核心文件 使用require_once包含避免出现PHPMailer类重复定义的警告</span>
<span style="color: rgba(0, 0, 255, 1)">require_once</span>("./class.phpmailer.php"<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">require_once</span>("./class.smtp.php"<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(128, 0, 128, 1)">$mail</span> = <span style="color: rgba(0, 0, 255, 1)">new</span> PHPMailer();<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">实例化PHPMailer核心类</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->SMTPDebug = 1;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->isSMTP();<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">使用smtp鉴权方式发送邮件</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->SMTPAuth=<span style="color: rgba(0, 0, 255, 1)">true</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">smtp需要鉴权 这个必须是true</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->Host = 'smtp.qq.com';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">链接qq域名邮箱的服务器地址</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->SMTPSecure = 'ssl';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置使用ssl加密方式登录鉴权</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->Port = 465;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置ssl连接smtp服务器的远程服务器端口号,以前的默认是25,但是现在新的好像已经不可用了 可选465或587</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->CharSet = 'UTF-8';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置发送的邮件的编码 可选GB2312 我喜欢utf-8 据说utf8在某些客户端收信下会乱码</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->FromName = '冷晨';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置发件人姓名(昵称) 任意内容,显示在收件人邮件的发件人邮箱地址前的发件人姓名</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->Username ='12059991@qq.com';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">smtp登录的账号 这里填入字符串格式的qq号即可</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->Password = '你自己的授权码';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">smtp登录的密码 使用生成的授权码(就刚才叫你保存的最新的授权码)【非常重要:在网页上登陆邮箱后在设置中去获取此授权码】</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->From = '12059991@qq.com';<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置发件人邮箱地址 这里填入上述提到的“发件人邮箱”</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->isHTML(<span style="color: rgba(0, 0, 255, 1)">true</span>);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">邮件正文是否为html编码 注意此处是一个方法 不再是属性 true或false</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->addAddress(<span style="color: rgba(128, 0, 128, 1)">$to</span>);<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">设置收件人邮箱地址</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->Subject = <span style="color: rgba(128, 0, 128, 1)">$title</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加该邮件的主题</span>
<span style="color: rgba(128, 0, 128, 1)">$mail</span>->Body = <span style="color: rgba(128, 0, 128, 1)">$content</span>;<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">添加邮件正文 上方将isHTML设置成了true,则可以是完整的html字符串 如:使用file_get_contents函数读取本地的html文件
//简单的判断与提示信息</span>
<span style="color: rgba(0, 0, 255, 1)">if</span>(<span style="color: rgba(128, 0, 128, 1)">$mail</span>-><span style="color: rgba(0, 0, 0, 1)">send()) {
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">true</span><span style="color: rgba(0, 0, 0, 1)">;
}</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">{
</span><span style="color: rgba(0, 0, 255, 1)">return</span> <span style="color: rgba(0, 0, 255, 1)">false</span><span style="color: rgba(0, 0, 0, 1)">;
}
}
date_default_timezone_set(</span>'PRC'<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 128, 128, 1)">header</span>("Content-Type:text/html;charset=utf-8"<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(128, 0, 128, 1)">$flag</span> = sendMail('12059991@qq.com','测试','测试邮件'<span style="color: rgba(0, 0, 0, 1)">);
</span><span style="color: rgba(0, 0, 255, 1)">if</span>(<span style="color: rgba(128, 0, 128, 1)">$flag</span><span style="color: rgba(0, 0, 0, 1)">){
</span><span style="color: rgba(0, 0, 255, 1)">echo</span> "发送邮件成功!"<span style="color: rgba(0, 0, 0, 1)">;
}</span><span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">{
</span><span style="color: rgba(0, 0, 255, 1)">echo</span> "发送邮件失败!"<span style="color: rgba(0, 0, 0, 1)">;
}
</span>?></pre>
</div>
<p> </p>
<p><span style="font-size: 18px">然后qq邮箱的设置</span></p>
<p><span style="font-size: 18px"><img src="https://img2018.cnblogs.com/blog/1675418/201906/1675418-20190610171955295-1269768829.png" alt=""></span></p>
<p> </p>
<p><span style="font-size: 18px">需要把这两个开启 授权码也是在这里获取</span></p>
<p><span style="font-size: 18px"><img src="https://img2018.cnblogs.com/blog/1675418/201906/1675418-20190610172031319-1243227411.png" alt=""></span></p>
<p> </p>
<p> </p>
<p> <img src="https://img2020.cnblogs.com/blog/1675418/202101/1675418-20210118150926795-597240824.png" alt="" loading="lazy"></p>
<p> </p>
<p><span style="font-size: 18px"> 授权码是获取这个</span></p>
<p> </p>
<p><span style="font-size: 18px">然后php需要的两个文件</span></p>
<pre><span style="font-size: 16px">class.phpmailer.php和class.smtp.php下载地址<br></span></pre>
<p>链接:https://pan.baidu.com/s/1_WJPDlHy-LIJ21L4oV0Gow <br>提取码:u1s8</p>
<p> </p>
<p><span style="font-size: 18px"><strong>然后注意环境需要开启ssl</strong></span><span style="font-size: 16px"><br></span></p>
<p><span style="font-size: 18px">1.打开php配置文件php.ini;<br><br>2.找到;extension=php_openssl.dll,去掉前面的分号;如果不存在则加入此项;<br><br>3.将php根目录下的ssleay32.dll和libeay32.dll文件,以及php/ext下的php_openssl.dll 这三个文件复制,然后粘贴到:C:/WINDOWS/system32文件夹下;<br><br>4.重启web服务器<br>--------------------- <br>按照以上操作的,还是报错</span></p>
<p><span style="font-size: 18px; background-color: rgba(255, 255, 255, 1); color: rgba(255, 0, 0, 1)"><span style="background-color: rgba(255, 255, 255, 1); color: rgba(255, 0, 0, 1)">使用phpStudy配置SSL支持Https</span></span></p>
<pre><span style="font-size: 16px"> </span></pre>
<p> </p><br><br>
来源:https://www.cnblogs.com/lcxin/p/10999054.html
頁:
[1]