1

我在处理从我的 wordpress 网站发送的电子邮件时遇到了问题。一切都来自“info@mydomain.co.za via default@hostingprovider.net”

过孔部分看起来非常不整洁和不专业。根据过去的经验,我知道这与未设置发件人有关。我在 Wordpress 中搜索设置以更改此设置,但无济于事。好像不能设置。

4

2 回答 2

3

您可以通过将此代码添加到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

于 2016-01-06T07:37:41.663 回答
0

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

打开文件:/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 );

这将防止“通过不需要的@host.net”,而不仅仅是来自您。

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

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

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

于 2013-05-27T08:59:55.360 回答