| 免费用户福利小苹果影视 | 付费影视软件终极三版本 |
先简单介绍一个邮件系统中的一个概念:发件人地址,也称为 Envelope-From、MAIL FROM 或者 Return-Path 等,它是其他邮件服务器在无法投递邮件时发送“退信”的地址。
自 WordPress 4.7.0 以来,该值由外发邮件服务器设置(默认使用 wordpress@home_url()),常常导致配置错误,这听起来似乎不是大问题,站点可能只是收不到投递失败的通知。
但由于防止垃圾邮件传播的发件人策略框架(SPF) 和 DMARC 系统的存在,它变成了一个更严重的问题,SPF 和 DMARC 系统旨在阻止垃圾邮件的传播,它们会完全拒绝这些邮件。
比如在 WordPress 6.9,使用 #WPJAM Basic# 的 SMTP 功能进行测试,就会报错,大概意思就是发件人地址和 SMTP 邮箱地址不一致:
WordPress 6.9 以可扩展的方式设置发件人地址:
如果邮件头中存在 From 地址,则使用该地址。
否则,默认使用 wordpress@home_url(),其中 home_url() 就是博客首页地址。
如果推断出的或默认的地址不正确,插件随后可以通过 wp_mail_from Filter 来过滤发件人地址。
所以我们需要在 #WPJAM Basic# 的 SMTP 扩展中加入一行:
add_filter(‘wp_mail_from’, fn()=> self::get_setting(‘user’));
然后 WordPress 就把把这个发件人地址设置成 SMTP 邮箱地址。
此外 WordPress 6.9 还修复了两个发信相关的问题,对于不太使用邮箱的同学来说,可能没有察觉到,这里简单提一下。
修复了邮件编码在多次调用间意外保持的问题
wp_mail()调用全局的 $phpmailer对象来实际发送邮件,这意味着在同一个 PHP 请求中的多次调用会共享某些状态。PHPMailer 类内部的逻辑会检查消息中的某些因素,用以设置或更改外发邮件的编码头。因为该对象是全局的,这些编码更改会持续存在,在某些情况下会应用到后续邮件中,导致阅读邮件时出现问题。
6.9 版本则改成在发送每封邮件之前,内部编码都会被重置,以便 PHPMailer 能够仅根据服务器配置和该特定消息的细节,为每封邮件发送适当的编码类型。
为多部分邮件分配了正确的内容类型
在过去的十七年里,WordPress 与 PHPMailer 在处理多部分消息时存在一个潜伏的 Bug,WordPress 向 PHPMailer 发送了损坏的 ContentType,在这些情况下,由于这个无效的内容类型,PHPMailer 会进一步损坏外发消息。在极少数情况下,这会导致重复的 Content-Type 头,但更常见的问题是破坏了多部分邮件的边界。
6.9 版本通过依赖 PHPMailer 自身的功能来设置内容类型,而不是(错误地)尝试手动指定该头,从而简化了之前的修复。
WPJAM Basic 会很快更新新版,让「SMTP 发信」功能兼容 WordPress 6.9。
在 WordPress 6.9 或任何其他版本中,确保邮件发送功能正常,尤其是发件人地址和邮箱地址一致,是保证邮件能够被正确识别和信任的关键。这里有几种方法可以改进或确保这一功能:
1. 使用 WP Mail SMTP 插件
WP Mail SMTP 是一个非常流行的插件,它可以帮助你配置和自定义 WordPress 的邮件发送功能。通过 WP Mail SMTP,你可以设置一个一致的、专业的发件人邮箱地址。
安装和配置 WP Mail SMTP:
在 WordPress 后台安装并激活 WP Mail SMTP 插件。
在“设置” -> “WP Mail SMTP”中配置你的邮件发送方式。你可以选择使用 SMTP 服务(如 Gmail, SendGrid, Mailgun 等),或者配置本地邮件服务器。
在“邮件日志”选项中,确保“发件人电子邮件”和“发件人名称”字段填写正确。例如,如果你希望邮件显示来自 “info@yourdomain.com”,那么在“发件人电子邮件”中输入 “info@yourdomain.com”,在“发件人名称”中输入 “Your Site Name”。
2. 修改 wp-config.php 文件
如果你不想使用插件,可以通过修改 wp-config.php 文件来直接设置发件人地址。
示例代码:
define(‘WP_MAIL_FROM’, ‘info@yourdomain.com’);
define(‘WP_MAIL_FROM_NAME’, ‘Your Site Name’);
将上述代码添加到你的 wp-config.php 文件中,确保替换 ‘info@yourdomain.com’ 和 ‘Your Site Name’ 为你的实际邮箱地址和站点名称。
3. 使用 PHP 的 ini_set 函数
在某些服务器配置中,你也可以使用 PHP 的 ini_set 函数来设置发件人地址。虽然这种方法不如使用 WP Mail SMTP 插件那样直接和可靠,但在某些情况下可能有用。
示例代码:
ini_set(‘sendmail_from’, ‘info@yourdomain.com’);
将此行代码添加到你的主题的 functions.php 文件或者一个自定义的插件中。
4. 检查服务器配置
确保你的服务器配置允许通过 PHP 的 mail() 函数发送邮件。某些服务器可能需要额外的配置,比如正确设置 sendmail_path。你可以通过查看服务器的 PHP 配置文件(如 php.ini)来确认这些设置。
总结
推荐使用 WP Mail SMTP 插件,因为它提供了最简单和最可靠的方式来管理和自定义 WordPress 的邮件发送功能。确保发件人地址和邮箱地址一致,不仅可以提高邮件的可信度,还可以避免一些常见的邮件投递问题,如被标记为垃圾邮件。
2、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报,本站资源仅供学习与参考,请勿用于商业用途以及违法使用。
3、本站大部分下载资源收集于网络,该资源仅供学习和研究传播,版权归原作者所有,若为付费资源,大家请在下载后24小时内自觉删除,一切关于该资源商业行为与站长及159e资源网(www.159e.cn)无关。
4、请勿将该软件进行商业交易、转载、商业用途等行为,该软件只为研究、学习所提供,若作商业用途,请到原网站购买,由于未及时购买和付费发生的侵权行为,与本站无关,该软件使用后发生的一切责任和问题与站长及159e资源网(www.159e.cn)无关。
5、本站所有资源都来源于网络收集或转载!如果侵犯了您的权益,请及时告知我们,我们即刻处理!本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系我们予以删除!如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!(E-mail:334635982@qq.com)。













![表情[fadai]-159e资源网](https://www.159e.cn/wp-content/themes/zibll/img/smilies/fadai.gif)
![表情[ciya]-159e资源网](https://www.159e.cn/wp-content/themes/zibll/img/smilies/ciya.gif)

暂无评论内容