0

我构建了一个小功能来发送联系表单结果和错误报告。

我要求用户输入姓名和电子邮件,我想使用该电子邮件地址出现在我收到的邮件中。

我为此使用 wp_mail 过滤器:

add_filter( 'wp_mail_from', 'my_mail_from', $gotten_mail ); function my_mail_from( $email ) { return $email; }

它不工作。

我在想也许改变 smtp 地址而不是使用这个过滤器。搜索如何。

你能帮我么?

提前致谢。

4

1 回答 1

3

意识到这已经超过一个月了,但是这里......

您不能以这种方式将自定义参数添加到您的add_filter调用中。相反,您需要在回调函数中获取输入的电子邮件,如下所示:

add_filter( 'wp_mail_from', 'custom_slug_mail_from' );

/**
 * Function to change mail_from to input entered via form.
 */
function custom_slug_mail_from( $email ) {

    /**
     * Use the user-submitted email if present.
     */
    if ( isset( $_REQUEST[ 'email_from_form' ] ) )
        return sanitize_email( $_REQUEST[ 'email_from_form' ] );

    return $email; // if no email submitted, use default.
}

还没有测试过,但我认为它应该可以工作。请务必根据 WordPress主题指南将“custom_slug”更改为您的主题或插件文件夹的名称,并将“email_from_form”更改为表单中输入字段的名称。

PS 您将在wordpress.stackexchange.com上更快地获得与 WordPress 相关的答案

于 2013-08-28T23:27:19.150 回答