如何根据发件人的电子邮件地址设置wp_mail参数/手动强制发送wp_mail?

时间:2019-08-01 作者:jongoeson

我需要一种在尝试传递之前查询发件人电子邮件地址的方法,然后根据结果设置wp\\u邮件参数。

因此,如下所示:

如果sender\\u电子邮件包含@域。如果sender\\u电子邮件不包含@域,则继续执行com。com,在发送之前更新wp\\u邮件头,用例基本上是这样的:

我正在使用邮戳验证域电子邮件,因此只有当发件人的地址与我的邮戳帐户中经过验证的域匹配时,电子邮件才会成功发送。

我想做的是在它尝试通过邮戳发送之前创建一个支票,如果它不是经过身份验证的电子邮件地址,那么使用wp\\U mail(WordPress的默认邮件系统)发送。

或者,换言之,只有在与特定域或电子邮件地址(我们可以手动设置)匹配时,才通过邮戳发送电子邮件。

1 个回复
SO网友:Antti Koskinen

Perhpaps公司wp_mail是这种情况下的合适过滤器,因为它是第一个点火的过滤器wp_mail(). 所以也许像这样简单的事情可能会奏效,

// For reference:
// $atts = array(
//   \'to\' => string, 
//   \'subject\' => string, 
//   \'message\' => string, 
//   \'headers\' => string or array (I think), 
//   \'attachments\' => array,
// );
function filter_wp_mail( $atts ) {
  if ( false === strpos( \'@domain.com\', $atts[\'to\'] ) ) {
    $atts[\'headers\'] .= "Postmark: not valid email\\n";
  }
  return $atts;
}
add_filter( \'wp_mail\', \'filter_wp_mail\' );

相关推荐

Cron not sending wp-mail()

我对cron计划功能有问题,它不想用wp_mail() 作用This is my code:它被放置在函数中。php<?php add_filter(\'cron_schedules\', \'add_review_invites_schedule\'); function add_review_invites_schedule($schedules){ $schedules[\'send_review_invites_interva