在wp_mail中传递返回路径附加参数

时间:2018-02-02 作者:Liam McArthur

我们的服务器当前正在自动将返回路径设置为{[email protected]}。在用PHP发送电子邮件时,我可以通过执行以下操作来覆盖此内容:

$return = \'<[email protected]>\';
$additional = "-f$return";
mail($to,$subject,$message,$headers, $additional);
我的问题是WordPress没有像本机PHP邮件函数那样提供添加额外\\u参数的功能。是否有一个解决方法可以让这项工作正常进行?以下是我的WordPress插件用于发送电子邮件的实际代码:

$headers = array(
    \'From: Eden Mobility <[email protected]>\',
    \'Content-Type: text/html; charset=UTF-8\',
    \'Return-Path: <[email protected]>\'
);
wp_mail( "[email protected]", \'Your \' . $item . \' renewal is almost due\', $template, $headers ); // LIVE
我注意到的一件事是,我现在在提交邮件时收到警告:

PHP Warning: escapeshellcmd() has been disabled for security reasons in /home/user/domain.co.uk/wp-includes/class-phpmailer.php on line 1442 [02-Feb-2018 15:25:54 UTC]

1 个回复
SO网友:Tom J Nowell

Yes! 有一个插件可以做到这一点,它非常简单。它使用phpmailer_init 调整$phpmailer 对象这是它使用的代码:

if ( ! function_exists( \'wp_mail_returnpath_phpmailer_init\' ) ) {
    function wp_mail_returnpath_phpmailer_init( $phpmailer ) {
        // Set the Sender (return-path) if it is not already set
        if ( filter_var( $params->Sender, FILTER_VALIDATE_EMAIL ) !== true ) {
            $phpmailer->Sender = $phpmailer->From;
        }
    }
}

add_action(\'phpmailer_init\',\'wp_mail_returnpath_phpmailer_init\');

https://plugins.trac.wordpress.org/browser/wp-mail-returnpath/trunk/index.php

结束

相关推荐

是否可以将定制的SQL用于单个post.php?

是否可以在单个页面中使用自定义SQL。php文件来返回所需的单个帖子的数据?就我的目的而言,在$querystr中有一些数据操作,使用php很难再现,而使用简单的SQL很容易实现。如果我把下面的代码放在一页中。php文件,我目前有一个完整的结果集,每个帖子一行。我只想提取与用户单击的页面相关的行/记录/帖子。<?php $querystr = \" SELECT custom_sql_column_name_here FROM custom_sql