我正在使用 Swift_Mailer
开发 Symfony 4 应用程序发送电子邮件。
由于在我的情况下不可能使用 SMTP(不要问为什么......)我必须使用类似 sendmail
的东西。 .
默认情况下,Swift Mailer 的配置在 Symfony 的 .env
中完成。在名为 MAILER_URL
的选项中使用 URL 表示法的文件.默认值是“null://localhost
”,它根本不发送邮件。
我所能找到的所有值必须是 Gmail 或 SMTP 的示例,如 Symfony docs 中所述。以及在 Composer 生成的示例 .env 中。
.env 的默认内容:
# …
###> symfony/swiftmailer-bundle ###
# For Gmail as a transport, use: "gmail://username:password@localhost"
# For a generic SMTP server, use: "smtp://localhost:25?encryption=&auth_mode="
# Delivery is disabled by default via "null://localhost"
MAILER_URL=null://localhost
###< symfony/swiftmailer-bundle ###
# …
我不知道什么,因此我的问题是:
我需要做什么才能制作
sendmail
用这个工作? 我已经尝试过类似的东西:
MAILER_URL=sendmail://localhost
和
MAILER_URL=sendmail://my-domain.com
但到目前为止没有成功。
使用控制台命令时
bin/console swiftmailer:email:send
我什至收到“[OK] 1 封电子邮件已成功发送”。结果,但实际上没有发送电子邮件。
(……顺便说一下,没有假脱机。
bin/console swiftmailer:spool:send
返回“发送了 0 封电子邮件”。)邮件传递似乎中断了,因为邮件不会到达我的邮件帐户,而且我的垃圾邮件也是空的。
直接调用
sendmail
另一方面,命令确实有效。 (虽然我的测试邮件到达了我的垃圾邮件,但仍然:邮件已发送。)同样,我必须如何配置
MAILER_URL
为 Swift_Mailer
在我的 .env
在 Symfony 4 中使用 sendmail
? 有可能吗?
最佳答案
好的,符号已经是正确的。所以这个对使用sendmail
有效:
MAILER_URL=sendmail://my-domain.com
我的实际问题是邮件假脱机处于事件状态。我注释掉了
spool
来自我的条目 swiftmailer.yaml
配置。顺便说一下,查看 Symfony Profiler 对我帮助很大。
... 我的邮件仍未送达,但我确定这与
MAILER_URL
无关。 .所以,我的问题得到了回答。
关于php - 如何在 Symfony 4 的 .env 文件中配置 MAILER_URL 以使用 Swift_Mailer 通过 sendmail 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51483377/