卓象程序员:如何在项目中发送电子邮件

2022-10-11 20:25:25 176 0
魁首哥

一、邮件应用在项目中的场景:

①验证类邮件:注册时通过电子邮件进行帐号的激活;在登录时,忘记密码需要进行密码重置的操作;

②营销类邮件:给客户推送营销类的电子邮件,特价商品、促销、生日关怀等等;

二、原理篇

首先我们来认识一下什么是邮件的协议:

Smtp协议: 是发送邮件的协议,不影响服务器的内容,相当于copy一份;

Pop3协议: 是接收邮件的协议,不影响服务器的内容,相当于copy一份;

IMAP协议: 接收和发送都可以,并同步信息到 邮件服务器

发送邮件最主要的就是邮件服务器,是专门处理收发邮件的大车间,邮件服务器可以自己搭建,但是一般都用比较成熟的比如:163 邮局 ,腾讯邮件、 搜狐 等电子邮件服务器;

为什么我们经常选择大型网站的电子邮件服务器而不自己搭建?

1、消耗的资源比较大,网络带宽也受影响;

2、安全问题,附件可能含有病毒,邮件服务器的防病毒需要很高级的手段;

3、垃圾邮件防范手段需要实时保持更新;

成熟的邮件服务器: 163邮局、腾讯、阿里

三、应用篇

一般结合我们的项目我们的程序只做发送邮件的功能,PHP发送邮件一般采用Phpmailer的组件进行发送,那么如何将PHPMailer在项目中使用?

1、首先需要下载 PHPMailer的代码包,下载解压后如下,

2、编写函数代码并设置PHPMailer发送邮件方式为 ssl

3、设置php.ini

4、设置邮箱的授权码

授权码是指邮箱可以通过帐号和授权码进行收发邮件,防止通过邮箱登录密码进行收发的风险,因为密码需要填写在第三方的软件中,第三方的软件如果不能很好的安全的保存我们的密码,就有可能造成密码泄漏,造成损失;而授权码可以随时更换而不影响我们的邮箱正常业务。

如果不设置php.in的内容后者授权码不正确会造成登录不上smtp服务器的问题,会报以下错误:

四、框架篇

如何在ThinkPHP5框架中使用PHPMailer类来发送电子邮件呢?很简单五步就可以在TP5中发送电子邮件。

1、 将class.phpmailer.php和class.SMTP.php复制到extend目录下;

2、 将函数中增加一行代码

3、 配置文件中增加配置项

4、 在控制器中调用即可

5、在浏览器中观察返回的结果

收藏
分享
海报
0 条评论
176
上一篇:11 PHP 设计模式系列「桥梁模式(Bridge)」 下一篇:IntelliJ IDEA中的神仙插件 写代码必备

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码