通过不带SMTP的PHPmailer发送电子邮件

时间:2019-03-13 01:42:35

标签: phpmailer

我知道我们可以使用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;
       }

?>

1 个答案:

答案 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