2017-01-26 2 views
0

Как говорится в этом вопросе. У меня есть поле в моей форме, называемое электронной почтой, где пользователь помещает адрес электронной почты менеджеров. Возможно ли, чтобы PHPmailer использовал этот адрес электронной почты, который был введен?PHPmailer, отправляющий пользователю введенные почтовые адреса

+0

Да, это возможно :) у вас есть любая проблема? –

+0

Я получил: D Спасибо, я просто изменил адрес электронной почты в коде, чтобы использовать имя текстового поля. например. $ по электронной почте – RedZ

ответ

0

Да, но вам нужно быть осторожным. Использование пользователем представил адрес в качестве из адреса очень плохая идея, т.е. не это сделать:

$mail->setFrom($_POST['email']); 

Это подлог, и заставит ваше сообщение потерпеть неудачу SPF проверки, так что либо не будет доставлен, либо попадет в папку со спамом. Правильный способ сделать это это, используя фиксированный адрес отправителя, но добавив адрес для ответа, так что ответы сделать перейти к подателю:

$mail->setFrom('[email protected]'); 
$mail->addReplyTo($_POST['email']); 

Если вы хотите отправить в пользователь -submitted адрес, что также опасно - вам нужно проверить тяжело, если вы не собираетесь стать шлюз спам, который на самом деле означает Whitelisting разрешенных адресов, например:

$allowed = ['[email protected]', '[email protected]', '[email protected]']; 
if (in_array($_POST['email'], $allowed)) { 
    $mail->addAddress($_POST['email']); 
} else { 
    echo 'Bad address'; 
    exit; 
} 
Смежные вопросы