Можно ли указать адрес электронной почты «Ответить» при отправке формы с помощью PHP?

У меня есть форма на моем веб-сайте, которая отправит мне электронное письмо с использованием PHP. Он будет отправлен на адрес электронной почты из моего хостинга, который я никогда не проверяю, поэтому я настроил его для пересылки писем, отправленных на этот адрес, на мой адрес электронной почты iCloud. Это прекрасно работает, так как сохраняет адрес «От», поэтому, когда я отвечаю, он отправляется человеку, заполнившему форму. Проблема в том, что когда я отвечаю на электронное письмо, отправленное из формы, человек, получивший этот ответ, увидит, что он пришел из моей учетной записи iCloud, и ответы на это электронное письмо будут отправлены непосредственно в мою учетную запись iCloud, а не на мою электронную почту службы хостинга.

Мой вопрос в том, есть ли способ указать в моем PHP-коде, какое электронное письмо должно отображаться в поле «От» при ответе на электронное письмо (но, конечно, это отличается от адреса «От» в первом электронном письме, отправленном мне (человек, заполняющий форму)?

По сути, я хочу, чтобы это работало следующим образом:
-При отправке формы электронное письмо отправляется на адрес [email protected] с адресом "От", установленным на адрес электронной почты, введенный в форму
-example@ myhostingservice.com перенаправляет электронное письмо на мою учетную запись iCloud (но сохраняет адрес электронной почты лица, заполнившего форму, в поле «От кого»)
— я отвечаю на это электронное письмо, используя свою учетную запись iCloud, и получатель видит, что оно пришло от [email protected] (не iCloud), и когда они отвечают, он отправляется на [email protected]

Вот фрагмент моего кода, чтобы увидеть, с чем я работаю:

$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);
} 

Спасибо!


person Jordan H    schedule 28.05.2013    source источник


Ответы (2)


Я не думаю, что это возможно с использованием PHP - почтовый клиент, который вы используете в своей учетной записи iCloud, устанавливает новый «Ответить». Однако попробуйте добавить учетную запись электронной почты хостинга в почтовый клиент iCloud (используя POP3 или IMAP) — тогда вы сможете «Отправить как» свою учетную запись хостинга, и вам не нужно будет пересылать все в iCloud.

person Yotam Omer    schedule 28.05.2013
comment
Я использую Thunderbird от Mozilla для своих учетных записей электронной почты для хостинга. Вы можете использовать один из этих внешних почтовых клиентов, чтобы эти электронные письма не попадали в ваш почтовый ящик iCloud. - person Yotam Omer; 28.05.2013

Из документов (http://php.net/manual/en/function.mail.php< /а>):

$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

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

Хотя я должен предупредить вас, это может пометить вашу электронную почту как спам, поскольку адрес электронной почты, с которого она отправляется, не соответствует заголовку From.

person Rijndael    schedule 28.05.2013
comment
Мой уже так настроен. Это отправит электронное письмо на мой адрес через $to, а From и Reply-To должны быть адресом электронной почты в форме, поэтому, когда я отвечу, оно будет отправлено на правильный адрес. Нигде этот адрес не соответствует адресу From при ответе на электронное письмо, отправленное через форму. - person Jordan H; 28.05.2013