WordPress SMTP发信避坑指南

前言

目前不少主题已经内置了SMTP发信功能,这是因为WordPress自带的mail()函数发信时基本无法发送。

但是在之前(约2021年末)貌似可以通过WordPress自带的函数发信,并且收信方提示由xxx代发,之前使用PHP5.6以及WP5.1,但近期未做测试

SMTP发信时会暴露服务器IP

使用你的邮件客户端,想办法点击到“查看邮件原文”或着有的服务商将其称为“查看原始邮件”

之后你便会发现其中有着你的服务器IP

解决方法可以去注册阿里企业邮免费版,对于普通用户来说足够用了,使用阿里企业邮箱进行SMTP发信时阿里服务器会代理邮件发送操作,从而保护你的服务器IP

同时,你也可以使用第三方发信服务,也可以做到隐藏服务器IP

无法使用微软outlook邮箱发信

这是因为微软在TLS之上又套了一个壳,让它只允许使用outlook客户端发信

解决方法是登录 https://admin.microsoft.com/

点击三个点显示全部

进入管理中心

进入 Exchange

进入设置,打开 Mail flow settings

勾选 Turn on use of legacy TLS clients. 并且点击Save保存

之后其就会使用原始的TLS协议,而不是套壳之后的

并且在配置 加密方式(SMTPSecure)时需要使用tls而不是ssl

相比于国内大厂使用的ssl,TLS先进了一大截,而国外各厂使用的又恰好都是TLSv1.3

邮件内的图片等内容没有加载

这可以分为两个可能性

其一是因为邮件被误判为诈骗邮件,导致里面的图片等都不会被加载

另一种原因是因为使用的图片是来自你网站的,并且是使用链接引入的,这时如果你开启了防盗链,那么需要将几乎所有的邮箱地址加入到跨域许可名单中,这无疑是一个大工程

所以建议关闭防盗链