小可ThinkPHP学堂

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 337|回复: 0
打印 上一主题 下一主题

[ThinkPHP] PHPMailer使用SSL发送邮件关键点

[复制链接]

43

主题

43

帖子

212

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
212
跳转到指定楼层
楼主
发表于 2019-9-22 10:53:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

现在好多的云服务器已经关闭了25端口,只能使用SSL方式发送邮件(阿里云可以申请25端口解封,其余不知道,但小可老师申请了几次都被pass了,意图就是强制大家使用加密的SSL),其实使用SSL方式发送邮件和普通的方式是一样的,只需要改动几处地方即可:

一是邮件服务器地址,默认是没有ssl前缀的:

  1. $mail->Host       = 'ssl://smtp.163.com';
复制代码

这个地方算是SSL发送邮件最大的坑了把,因为不管是腾讯还是网易都对这个地方没有说明,如果邮件服务器不加ssl前缀的话是发送不了的。

二是SMTP加密方式,默认TLS,改成SSL即可:

  1. $mail->SMTPSecure = 'ssl';
复制代码

三是端口,默认是25端口:

  1. $mail->Port       = 465;
复制代码

这个地方其实也挺坑的,有的邮箱对这块没有说明,或者说明的不明显,具体是什么端口需要查看邮箱里关于SMTP的说明,但一般都是465。

通常云服务器或者主机都是默认开放了465端口的,如果发送不成功可以检查一下是不是端口的问题。


By小可老师

2019年9月22日

转载请标明出处

可以加QQ群415216728进行交流。

公众号搜小可ThinkPHP学堂


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表