使用 SMTP 模块加强 Drupal 邮件发送能力

注意事项:
如支付后未自动显示完整内容,可点击“已支付?点此查询订单”进行查看。
如遇内容不符或缺失,请联系内容作者或平台客服(工作日 9:00-18:00)。

Drupal 本身已经实现了简单的邮件发送能力,但需要结合服务器上所安装的邮件系统才能正常工作。因此很多用户在使用 Drupal 时会遇到无法发送邮件的问题。

Drupal 默认的注册行为会通过邮件向用户发送注册链接,如果邮件功能不能正常运作,网站会连最基本的用户注册都会受到影响。

相比在Web服务器上搭建和配置邮件服务,使用独立的邮件服务器,或调用外部 SMTP 进行邮件发送,实现网站-邮件服务器的分离会更合适一些。

通过安装 SMTP 模块,能够为 Drupal 增加 SMTP 配置和调用发件的能力。

下载及安装 SMTP 模块

进入 SMTP 模块页面,下载 SMTP 模块并进行安装(有关模块下载与安装步骤可参考《Drupal 8 模块安装和卸载》)

配置 SMTP 模块

SMTP 模块启用后,通过配置链接(如下图)或导航“管理 > 配置 > 系统 > SMTP Authentication Support”进入 SMTP 配置页面(admin/config/system/smtp)。

Drupal 8 SMTP 配置链接

按照配置页面的结构,我们依次从上至下对各部分进行设置:

1、启用 SMTP(虽然 SMTP 模块已经安装成功了,但还需要将这个选项设置为启用,才会正真的启用。这个设置方便 SMTP 没有准备好的情况,网站依然可以使用系统内置的发件方式)

Drupal 8 启用SMTP

2、配置 SMTP 服务器信息

Drupal 8 SMTP 服务器设置

  • SMTP Server:SMTP 服务器地址,可以是自己的SMTP服务器,或者是第三方邮件服务商的服务器,如 smtp.yourdomain.com 或 smtp.qq.com
  • SMTP backup server:备用 SMTP 服务器,当上面 SMTP Server 不可用时,会使用备用服务器(可不填)
  • SMTP port:SMTP 服务的端口号,默认为 25,加密情况下会使用 465 或 587,具体请根据 SMTP 服务商提供的信息进行设置
  • Use encrypted protocal:加密协议,默认不使用。具体请根据实际情况进行选择,可用的加密协议有 SSL 和 TLS
剩余50%内容付费后可查看
看完了?还不过瘾?点此向作者提问

评论

大牛仔这里提供了一个很有用的网站邮箱发送功能的设置指导,我在自己本地进行这个模块的安装和使用的时候发现了如下应该注意的问题:

1.首先如果你绑定的是QQ邮箱的SMTP服务的话,在QQ邮箱中的“设置”->“账户”进行SMTP服务的设置,我开启的是“POP3/SMTP服务”,选择开启之后会有一个验证的过程,我是通过短信方式验证的,验证结束之后开启服务的页面会显示一个所谓的“密码”,这个密码需要保存起来;

2.上一步主要是开启QQ邮箱的验证服务。接下来开始配置SMTP服务,在配置过程中注意的是在SMTP server settings ”下的“ SMTP port ”,这个数字不是默认的“25”,而要填成“465”(关于这一点我稍后解释)。再下来“ Use encrypted protocol ”这个选项框中选择“SSL”。(为什么在上面填写的是465而不是25,是因为在这里我们选择的是SSL的加密方式,为什么一定要选择SSL加密方式,因为我没有选择SSL加密方式的时候邮件发送过程中报错: SMTP -> get_lines(): $str is "530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28 " ,我觉得QQ邮箱SMTP服务应该是要求得开启SSL加密,至于另一种加密方式我没有选,因为报错中要求的是“SSL”。)

3.接下来的Username 是开启了SMTP服务的QQ邮箱账号(带有@qq.com),Password需要填的是在开启QQ邮箱SMTP服务过程中系统给你的那个16位的密码,而不是你自己的QQ密码,这里一定要注意(包括在用Foxmail的时候输入的密码也是这个16位的密码)。

4.最后添加一个邮箱账号,进行测试,最好是在下面的“Logging”里面勾选“Logging everything”这样可以清楚的看到在发送邮件过程中哪一步出错了,这样可以更快、更准确的找到错误所在,便于错误的解决。

5.以上我没有特别注明的步骤和博主的步骤一模一样,照着操作就行了。亲测成功了。另外就是发现了这个论坛终于支持了图片上传的功能。我也是今天才完成了这个同样的功能,很好用。附上一张我收到的测试邮件的图片: