我的网站上有一个表单,会使用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);
}
谢谢!
答案 0 :(得分: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标头不符。
答案 1 :(得分:0)
我认为这不可能使用PHP - 您在iCloud帐户上使用的电子邮件客户端设置了新的“回复”。但是,尝试将主机电子邮件帐户添加到您的iCloud电子邮件客户端 - (使用POP3或IMAP) - 然后您将能够“发送为”您的主机帐户,您将无需将所有内容转发给iCloud。