Wordpress - 设置发件人 - 阻止“通过default@domain.com”

时间:2013-05-27 08:59:55

标签: wordpress email

我一直无法收到我从wordpress网站发送的电子邮件。一切都来自“info@mydomain.co.za via default@hostingprovider.net”

通道部分看起来非常不整洁且不专业。根据过去的经验,我知道这与发件人没有设置有关。我在Wordpress中搜索了更改此设置,但无济于事。似乎无法设置。

2 个答案:

答案 0 :(得分:2)

您可以通过将此代码添加到functions.php(或将其放入插件)来自动设置发件人:

  # set the sender after PHP builds the phpmailer object during a wp_mail call
  add_action( 'phpmailer_init', 'my_phpmailer_init' );
  function my_phpmailer_init( $phpmailer ) {
    $phpmailer->Sender = $phpmailer->From;
  }

这与Talon的答案具有相同的效果,但避免编辑核心Wordpress文件。通过这种方式,Wordpress升级可以保留更改。

https://codex.wordpress.org/Plugin_API/Action_Reference/phpmailer_init

答案 1 :(得分:1)

因此经过一些搜索后,我设法找到了需要更改的代码。

打开文件: /wp-includes/pluggable.php

找到如下所示的行:

// Plugin authors can override the potentially troublesome default
$phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );

并添加以下内容:

$phpmailer->Sender   = apply_filters( 'wp_mail_from'     , $from_email );

所以它现在应该是这样的:

// Plugin authors can override the potentially troublesome default
$phpmailer->From     = apply_filters( 'wp_mail_from'     , $from_email );
$phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name  );
$phpmailer->Sender   = apply_filters( 'wp_mail_from'     , $from_email );

这将阻止“via unwanted@host.net”并且不会仅仅来自你。

<强>要注意: 如果您的电子邮件地址与您的域名不同,这可能会导致垃圾邮件问题。 即:

BAD: noreply@example.com and your website is www.mysite.com
GOOD: noreply@mysite.com and your website is www.mysite.com

我希望这可以节省一两个小时,就像我浪费的那样。