一、项目中邮件应用场景:
①验证短信:注册时通过邮箱激活账号;登录时,如果忘记密码,需要重新设置密码;
②营销短信:向客户推送营销邮件、特价、促销、生日关怀等;
二、原则
首先我们来看看短信是什么合约:
Smtp合约:是发送短信的合约,不影响服务器内容,相当于一份副本;
Pop3合约:是接收短信的合约,不影响服务端内容,相当于一份副本;
IMAP合约:既接收又发送,并将信息同步到邮件服务器;
发送短信最重要的是短信服务器,这是一个专门从事短信收发的小作坊。短信服务器可以自己搭建smtp授权码不能为空,一般使用比较成熟的邮件服务器如:163邮局、腾讯邮箱、搜狐等。
p>
为什么我们经常为小型网站选择电子邮件服务器而不是自己构建它们?
1、资源消耗比较大,网络带宽也受到影响;
2、安全问题,附件可能含有丰富的病毒,短信服务器的杀毒需要很中间的手段;
3、垃圾邮件预防措施需要及时更新;
成熟的邮件服务器:163邮局、腾讯、阿里
三、应用程序
通常结合我们的项目,我们的程序只做发送短信的功能。 PHP 使用 Phpmailer 组件发送短消息。那么如何在项目中使用PHPMailer呢?
1、首先需要下载PHPMailer的代码包,下载解压后如下,
2、编写函数代码,设置PHPMailer以ssl方式发送短信
3、设置php.ini
4、设置邮箱的授权码
授权码是指邮箱可以通过账号和授权码收发短信,避免通过邮箱登录密码收发短信的风险。由于密码需要在第三方软件中填写,如果第三方软件不是很安全smtp授权码不能为空,保存我们的密码可能会导致密码泄露丢失;并且可以随时更改授权码,不影响我们邮箱的正常业务。
如果没有设置php.in的内容,则之前的授权码不正确,会导致无法登录smtp服务器的问题,会报如下错误:
四、框架
如何使用ThinkPHP5框架中的PHPMailer类发送邮件?只需五个简单的步骤即可在 TP5 中发送电子邮件。
1、将class.phpmailer.php和class.SMTP.php复制到extend目录下;
2、从函数中减少一行代码
3、减少配置文件中的配置项
4、在控制器中调用
5、在浏览器中观察返回的结果