如何在 Symfony 4 的 .env 文件中配置 MAILER_URL 以使用 Swift_Mailer 通过 sendmail 发送电子邮件?

Arv*_*vid 4 php email sendmail swiftmailer symfony4

我正在开发一个Swift_Mailer用于发送电子邮件的 Symfony 4 应用程序。由于在我的情况下不可能使用 SMTP(不要问为什么......)我必须使用类似sendmail.

默认情况下,Swift Mailer 的配置在 Symfony 的.env文件中以 URL 表示法在名为MAILER_URL. 默认值为“ null://localhost”,它根本不发送邮件。

我所能找到的值必须是 Gmail 或 SMTP 的示例,如Symfony 文档以及 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 ###

# …
Run Code Online (Sandbox Code Playgroud)

我不知道什么,因此我的问题是:

我需要做什么才能sendmail使用它?

我已经尝试过类似的东西:

MAILER_URL=sendmail://localhost
Run Code Online (Sandbox Code Playgroud)

MAILER_URL=sendmail://my-domain.com
Run Code Online (Sandbox Code Playgroud)

但到目前为止没有成功。

使用控制台命令时

bin/console swiftmailer:email:send
Run Code Online (Sandbox Code Playgroud)

我什至收到“[OK] 1 封电子邮件已成功发送”。结果,但实际上没有发送电子邮件。
(……顺便说一下,没有假脱机。bin/console swiftmailer:spool:send返回“0 电子邮件发送”。)邮件传递似乎中断了左右,因为邮件不会到达我的邮件帐户,而且我的垃圾邮件也是空的。

sendmail另一方面,直接调用命令确实有效。(虽然我的测试邮件到达了我的垃圾邮件,但仍然:邮件已发送。)

同样,我怎么都配置MAILER_URLSwift_Mailer在我.env在的Symfony 4使用sendmail

有可能吗?

Arv*_*vid 5

好的,符号已经是正确的。所以这个是有效的使用sendmail

MAILER_URL=sendmail://my-domain.com
Run Code Online (Sandbox Code Playgroud)

我的实际问题是邮件假脱机处于活动状态。我spool从我的swiftmailer.yaml配置中注释掉了条目。

顺便说一下,查看 Symfony Profiler 对我帮助很大。

... 我的邮件仍未到达,但我确定这与MAILER_URL. 所以,我的问题得到了回答。