You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WordPress的PHPMailer中配置DKIM且不受WP更新覆盖

无需修改WordPress核心实现PHPMailer DKIM签名的方案

方法一:利用官方钩子自定义配置

WordPress提供了phpmailer_init钩子,能在PHPMailer实例初始化后、发送邮件前修改它的属性,完全不会受核心文件更新影响。把以下代码添加到主题的functions.php,或者封装成简单的自定义插件(更推荐,换主题也不受影响):

add_action('phpmailer_init', function($phpmailer) {
    // 开启DKIM签名
    $phpmailer->DKIM_enable = true;
    // 填写你的域名
    $phpmailer->DKIM_domain = 'yourdomain.com';
    // 填写DKIM选择器(对应DNS记录里的前缀)
    $phpmailer->DKIM_selector = 'default';
    // 加载私钥文件(替换为你的私钥路径)
    $phpmailer->DKIM_private = file_get_contents('/wp-content/keys/dkim-private.key');
    // 可选:设置签名标识邮箱
    $phpmailer->DKIM_identity = 'noreply@yourdomain.com';
    // 可选:指定哈希算法,默认sha256
    $phpmailer->DKIM_hash = 'sha256';
});

方法二:使用现成插件

如果不想写代码,直接用支持DKIM的邮件插件即可,这类插件都基于官方钩子实现,安全可靠:

  • WP Mail SMTP:在插件的高级设置面板里,找到DKIM签名选项,填入域名、选择器和私钥就能启用。
  • Post SMTP:不仅支持DKIM可视化配置,还自带邮件测试功能,能帮你验证签名是否生效。

注意事项

  • 无论用哪种方法,都必须先在域名的DNS解析中添加DKIM TXT记录,格式为[选择器]._domainkey.yourdomain.com,值包含公钥信息,等待DNS生效后再测试。
  • 绝对不要直接修改PHPMailer.php或pluggable.php等核心文件,WordPress更新后这些修改会被完全覆盖。

内容的提问来源于stack exchange,提问作者Overbeeke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 00:45:33