Получить копию отправителю с правильным адресом электронной почты / phpmailer - PullRequest
0 голосов
/ 13 апреля 2020

Я использую очень простой скрипт phpmailer для страницы контактов.

<?php
if( isset($_POST['name']) )
{
    $to = 'info@xxx.xxxx'; // Replace with your email

    $subject = $_POST['subject'];
    $message = $_POST['message'] . "\n\n" . 'Regards, ' . $_POST['name'] . '.';
    $headers = 'From: ' . $_POST['email'] . "\r\n" . 'Reply-To: ' . $_POST['email'] . "\r\n" . 'X-Mailer: PHP/' . phpversion();

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

    if( $_POST['copy'] == 'on' )
    {
        mail($_POST['email'], $subject, $message, $headers2);
    }
}
?>

но проблема в том, что, если копия отправляется, она имеет неверные данные заголовка "from" ... так в примере:


From: yakashimoto@xzy.xx
Reply to: yakashimoto@xzy.xx
To: yakashimoto@xzy.xx
but i need
From: info@xxx.xxx
reply to: info@xx.xxx
to: yakashimoto@xyz.xx

1 Ответ

0 голосов
/ 13 апреля 2020

Обычно это не работает, потому что это подделка, и большинство хостинг-провайдеров не разрешают этого, например, gmail этого не делает.

Правильный способ сделать это - указать свой адрес электронной почты в обоих * 1003. * и to заголовки и адрес отправителя в reply-to.

Несмотря на то, что ваш код короткий, это спам-шлюз, который злоумышленники могут использовать для отправки неограниченного количества сообщений электронной почты через вашу контактную форму. Я предлагаю вам начать заново с некоторого лучше защищенного кода, такого как пример формы контакта, предоставляемый с PHPMailer , с которым вы пометили этот вопрос.

...