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

标签 php email sendmail swiftmailer symfony4

我正在使用 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_URLSwift_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/

相关文章:

php - 用于大量邮件的电子邮件队列系统

java - 电子邮件发送代码不适用于 ubuntu

ruby - 在没有电子邮件的情况下在 ruby​​ 上使用电子邮件

php - 在 PHP DOM 中获取节点的文本

php - 在 MySQL 中执行 PHP 脚本

php - 如何使用php保存图片?

c# - 邮件到达时如何自动处理?

PHP 邮件函数因 exim4 而失败

java - 如何解决这个有关格式化邮件的小问题? java

php - 用户数据库中的隐私和安全