📜  Swift_TransportException 无法在没有发件人地址的情况下发送消息 (1)

📅  最后修改于: 2023-12-03 15:35:12.900000             🧑  作者: Mango

Swift_TransportException 无法在没有发件人地址的情况下发送消息

在使用SwiftMailer发送邮件时,如果没有指定发件人地址,将会抛出Swift_TransportException异常。这是因为SMTP服务器需要知道邮件的发件人地址来进行验证和处理。

为了解决这个问题,我们需要在发送邮件之前指定发件人地址。可以通过以下步骤来实现:

  1. 在创建Transport对象时,指定发件人地址:
$transport = new \Swift_SmtpTransport('smtp.example.com', 587, 'tls');
$transport->setUsername('your_username');
$transport->setPassword('your_password');
$transport->setFrom('you@example.com');
  1. 在创建Message对象时,不需要再次指定发件人地址:
$message = new \Swift_Message();
$message->setTo(['john@example.com' => 'John Smith']);
$message->setSubject('Hello, John!');
$message->setBody('Good morning, John!');

这样就可以成功发送邮件了。

总之,无论什么情况下,一定要指定发件人地址,否则无法发送邮件。