#phpmailer
#phpmailer
Вопрос:
Я знаю, что мы могли бы использовать PHPMailer для отправки электронной почты без необходимости SMTP. Но я все еще не понимаю, как это настраивается.
1 / Можем ли мы установить что-либо в «Email From»? Если это так, то кто-нибудь мог подделать адрес электронной почты и отправить его кому угодно? Если нет, то в чем условие?
2/ Какую базовую конфигурацию должен иметь веб-сервер, чтобы он работал.
Извините за мои глупые вопросы.
<?php
$mail = new PHPMailer(true);
//Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom("britney@britneyspears.com", "Britney Spears");
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";
try{
$mail->Send();
echo "Success!";
} catch(Exception $e){
//Something went bad
echo "Fail - " . $mail->ErrorInfo;
}
?>
Ответ №1:
Я не знаком.
смотрите. https://github.com/PHPMailer/PHPMailer
1 / Можем ли мы установить что-либо в «Email From»?
Вы можете использовать setFrom
. (https://github.com/PHPMailer/PHPMailer#a-simple-example )
$mail->setFrom('from@example.com', 'Mailer');
Если это так, то кто-нибудь мог подделать адрес электронной почты и отправить его кому угодно?
уххх… Я думаю, что у SMTP-сервера ошибка. Использование PHPMailer $from
. возможно, $from
было настроено setFrom
. (https://github.com/PHPMailer/PHPMailer/blob/master/src/SMTP.php#L817 )
Если нет, то в чем условие?
Если адрес не задан, я думаю, произойдет ошибка. (https://github.com/PHPMailer/PHPMailer/blob/master/src/PHPMailer.php#L1185 )
Комментарии:
1. Вы можете попробовать установить поддельный адрес from, но нет гарантии, что почтовый сервер примет или доставит его, особенно если это приводит к сбоям SPF. Некоторые службы полностью игнорируют адрес from и всегда заменяют его адресом вашей учетной записи (тем, который вы вводите
Username
) — gmail делает это. Главное — не пытаться это делать. Если вы создаете контактную форму, следуйте примерам, предоставленным с помощью PHPMailer.