我知道我们可以使用PHPMailer来发送电子邮件,而无需SMTP。但是我还是不明白它是如何配置的。
1 /我们可以为“电子邮件发件人”设置任何内容吗?如果是这样,那么有人可以伪造一个电子邮件地址并将其发送给任何人吗?如果不是,情况是什么?
2 /要使Web服务器正常工作,必须具有什么基本配置。
对不起,我很傻的问题。
<?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;
}
?>
答案 0 :(得分:0)
我不熟悉。
请参阅。 https://github.com/PHPMailer/PHPMailer
1 /我们可以将任何内容设置为“电子邮件发件人”吗?
您可以使用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)