如何使用wp_mail()检索发件人电子邮件?

时间:2017-02-03 作者:LebCit

我有以下简单代码:

<?php
//if "email" variable is filled out, send email
if (isset($_POST[\'email\']))  {
    //Email information
    $to = get_option( \'admin_email\' );
    $headers = $_POST[\'email\'];
    $subject = $_POST[\'subject\'];
    $message = $_POST[\'message\'];

    //send email
    wp_mail($to, $subject, $message, $headers);

    //Email response
    echo "Thank you for contacting us!";
}

    //if "email" variable is not filled out, display the form
    else  {
?>
<form method="post">
    Email: <input name="email" type="text" /><br />
    Subject: <input name="subject" type="text" /><br />
    Message:<br />
    <textarea name="message" rows="15" cols="40"></textarea><br />
    <input type="submit" value="Submit" />
 </form>

<?php
  }
?>
我的问题是如何检索发件人电子邮件而不是生成的wp_mail() 来自$标题wordpress@$sitename ?

提前感谢您的帮助。

2 个回复
最合适的回答,由SO网友:LebCit 整理而成

我学会了expensive (time) 教训
下次我要设置联系人表单时,我将first 检查有关电子邮件设置的主机服务器特定配置
感谢Steve North, 我知道我的主人不允许direct custom $headers 出于安全原因<但是,我认为,每一个像样的主机都有针对其客户的解决方案<因此,如果你的名字便宜(这是我的情况),你可以参考这篇文章How to configure Contact Form hosted with us

希望这能帮助别人。SYA:)

SO网友:Steve

您没有设置发件人地址。

您可以执行以下操作:

<?php
//if "email" variable is filled out, send email
if (isset($_POST[\'email\']))  {
    //Email information
    $to = get_option( \'admin_email\' );
    $headers = array(\'From: Me Myself <\'.$_POST[\'email\'].\'>\'); //updated
    $subject = $_POST[\'subject\'];
    $message = $_POST[\'message\'];

    //send email
    wp_mail($to, $subject, $message, $headers);

    //Email response
    echo "Thank you for contacting us!";
}

    //if "email" variable is not filled out, display the form
    else  {
?>
<form method="post">
    Email: <input name="email" type="text" /><br />
    Subject: <input name="subject" type="text" /><br />
    Message:<br />
    <textarea name="message" rows="15" cols="40"></textarea><br />
    <input type="submit" value="Submit" />
 </form>
如您所见,$标题使用一个包含文本“From:”的数组来设置From标题。

希望这有帮助。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请