一个常见但相当不可预测的问题是,我的网站客户在发送电子邮件时会被垃圾邮件拦截器拦截。我发现最可靠的解决方案是使用SMTP凭据通过客户端的电子邮件服务器发送电子邮件。然而,如果客户正在使用Office 365,但将其网站托管在Google Cloud / Compute Engine上,那么这种方法就行不通,因为Office 365电子邮件端口被阻止了。那么我只剩下两个选择:交易性电子邮件中继(如Mailgun或Sendgrid)或PHP电子邮件工具(PHPMailer或mail())。
前者非常可靠,但需要客户设置帐户,支付订阅费用并创建新的SPF记录。后者的安装和优缺点对我来说不太清楚,但似乎更容易。PHP开发人员肯定更喜欢mail()而不是PHPMailer,但我从未找到过完整的原因列表(如果您没有使用PHPMailer通过SMTP / IMAP发送邮件)。使用mail()与使用PHPMailer或任何其他PHP电子邮件库有什么利弊呢?
我也从未完全理解使用这些工具所需的设置。如果您正在使用mail() / PHPMailer,是否必须创建SPF记录?如果是这样,您如何找出发送电子邮件的服务器的域名或IP地址,以便您可以创建SPF记录(例如,WP Engine没有关于创建SPF记录的说明)?
前者非常可靠,但需要客户设置帐户,支付订阅费用并创建新的SPF记录。后者的安装和优缺点对我来说不太清楚,但似乎更容易。PHP开发人员肯定更喜欢mail()而不是PHPMailer,但我从未找到过完整的原因列表(如果您没有使用PHPMailer通过SMTP / IMAP发送邮件)。使用mail()与使用PHPMailer或任何其他PHP电子邮件库有什么利弊呢?
我也从未完全理解使用这些工具所需的设置。如果您正在使用mail() / PHPMailer,是否必须创建SPF记录?如果是这样,您如何找出发送电子邮件的服务器的域名或IP地址,以便您可以创建SPF记录(例如,WP Engine没有关于创建SPF记录的说明)?