2

我的网站上有一个表格,它将使用 PHP 向我发送一封电子邮件。它将从我的托管服务发送到我从未检查过的电子邮件地址,因此我将其设置为将发送到该地址的电子邮件转发到我的 iCloud 电子邮件地址。这很好用,因为它保留了“发件人”地址,所以当我回复时,它会发送给填写表格的人。问题是,当我回复从表单发送的电子邮件时,收到回复的人会看到它来自我的 iCloud 帐户,并且对该电子邮件的回复将直接发送到我的 iCloud 帐户,而不是我的托管服务电子邮件。

我的问题是,有没有办法在我的 PHP 代码中指定在回复电子邮件时应在“发件人”字段中显示的电子邮件(当然,这与发送给我的第一封电子邮件中的“发件人”地址不同(填写表格的人)?

本质上,我希望它像这样工作:
- 提交表单后,会向 example@myhostingservice.com 发送一封电子邮件,其中“发件人”地址设置为表单中输入的电子邮件
-example@myhostingservice.com 将电子邮件转发到我的iCloud 帐户(但保留在“发件人”地址中填写表格的人的电子邮件地址)
-我使用我的 iCloud 帐户回复该电子邮件,并且接收者看到它来自 example@myhostingservice.com(不是 iCloud),并且当他们回复时,它会转到 example@myhostingservice.com

这是我的代码片段,可以查看我正在使用的内容:

$name = $_POST['name']; 
$email_address = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];

if( empty($errors))
{
    $to = $myemail; 
    $email_subject = "$subject";
    $email_body = "Name: $name \n \n $message"; 

    $headers = "From: $email_address";

    mail($to,$email_subject,$email_body,$headers);
} 

谢谢!

4

2 回答 2

3

从文档(http://php.net/manual/en/function.mail.php):

$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

尽管我必须警告您,但这样做可能会将您的电子邮件标记为垃圾邮件,因为发送它的电子邮件地址与 From 标头不匹配。

于 2013-05-28T01:10:54.723 回答
0

我认为使用 PHP 是不可能的——您在 iCloud 帐户上使用的电子邮件客户端设置了新的“回复”。但是,尝试将托管电子邮件帐户添加到您的 iCloud 电子邮件客户端(使用 POP3 或 IMAP)-然后您将能够“发送为”您的托管帐户,并且您不需要将所有内容转发到 iCloud。

于 2013-05-28T01:10:48.063 回答