使用Symfony Mailer发送电子邮件时,我遇到了将传输用户名(电子邮件)作为发件人接收的问题,而不是在****from()
****函数中写入的电子邮件。
下面是代码:
use Symfony\Component\Mailer\Bridge\Google\Transport\GmailSmtpTransport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;
$transport = new GmailSmtpTransport($username, $password);
$mailer = new Mailer($transport);
$email = (new Email())
->from(new Address($data["email"]))
->to("dest@gmail.com")
->subject(sprintf("Apply for a %s.", ucfirst($data["subject"])))
->html($template);
$mailer->send($email);
你知道怎么修吗?
1条答案
按热度按时间wpcxdonn1#
为了解决此问题,我找到了以下解决方案:
1.请使用不覆盖
From
标头的其他SMTP服务器。您可以尝试使用其他电子邮件服务提供商或配置自己的SMTP服务器以避免此问题。1.设置电子邮件中的
Sender
标头。此标头指定应用作邮件实际发件人的电子邮件地址,而From
标头指定发送邮件的人员或实体的名称和电子邮件地址。可以使用Symfony\Component\Mime\Email
类的sender()
方法设置Sender
标头。例如:
1.配置SMTP服务器以允许使用不同的
From
地址发送电子邮件。这可能需要修改电子邮件服务提供商或SMTP服务器的配置以允许使用不同的From
地址发送电子邮件。有关如何执行此操作的详细信息,可以参阅电子邮件服务提供商或SMTP服务器的文档。请注意,即使您设置了
Sender
标头或将服务器配置为允许使用其他From
地址发送电子邮件,某些SMTP服务器仍可能覆盖From
标头。在这种情况下,您可能需要使用不覆盖From
标头的其他SMTP服务器。