开发过程中如何处理电子邮件

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.8,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

开发过程中如何处理电子邮件

在开发发送电子邮件的应用程序时,您通常不希望在开发过程中实际将电子邮件发送给指定的收件人。如果您使用Symfony的SwiftmailerBundle,您可以通过配置设置轻松实现ob娱乐下载这一点,而无需对应用程序的代码进行任何更改。在开发过程中处理电子邮件有两个主要选择:(a)完全禁用电子邮件的发送或(b)将所有电子邮件发送到特定地址(可选例外)。

禁用发送

属性可以禁用发送电子邮件disable_delivery选项真正的.中的默认值测验环境中的标准分布。如果你在测验特定配置则电子邮件将在运行测试时不发送,但将在中继续发送刺激而且dev环境:

  • YAML
  • XML
  • PHP
1 2 3
# app / config / config_test.ymlswiftmailer:disable_delivery:真正的

中禁用传递dev环境,只需将相同的配置添加到config_dev.yml文件。

发送至指定地址

您还可以选择将所有电子邮件发送到特定地址或地址列表,而不是发送邮件时实际指定的地址。这可以通过delivery_addresses选择:

  • YAML
  • XML
  • PHP
1 2 3
# app / config / config_dev.ymlswiftmailer:delivery_addresses:(“dev@example.com”)

现在,假设您要发送一封电子邮件给recipient@example.com

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
公共函数indexAction的名字消息= (\ Swift_Message (“你好邮件”))->setFrom (“send@example.com”->该太空站(“recipient@example.com”->setBody (->renderView (“HelloBundle:你好:email.txt.twig”数组“名字”= >的名字));->get (“梅勒”->发送(消息);返回->呈现(…);}

dev环境,电子邮件将被发送到dev@example.com.Swift Mailer将为电子邮件添加一个额外的标题,X-Swift-To,其中包含了替换后的地址,因此您仍然可以看到它将被发送给谁。

请注意

除了地址,这也将阻止电子邮件被发送到任何CC而且BCC为它设置地址。Swift Mailer将添加额外的头与覆盖的地址在他们的电子邮件。这些都是X-Swift-Cc而且X-Swift-BccCC而且BCC地址分别。

发送到指定地址,但有例外

假设您希望将所有电子邮件重定向到一个特定的地址(如在上面的场景中一样)dev@example.com).但是,您可能希望将电子邮件发送到某些特定的电子邮件地址,而不是重定向(即使是在开发环境中)。可以通过添加delivery_whitelist选择:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8
# app / config / config_dev.ymlswiftmailer:delivery_addresses:(“dev@example.com”)delivery_whitelist:#所有匹配这些正则表达式的电子邮件地址将被发送#,以及发送到dev@example.com-“美元@specialdomain \ com /”-' / ^ admin@mydomain \ com /美元”

在上面的例子中,所有电子邮件消息将被重定向到dev@example.com和信息发送到admin@mydomain.com地址或属于该域的任何电子邮件地址specialdomain.com也会正常交付。

谨慎

delivery_whitelist选项将被忽略,除非delivery_addresses选项被定义。

从Web调试工具栏查看

时,您可以查看在单个回复期间发送的任何电子邮件dev环境使用web调试工具栏。工具栏中的电子邮件图标将显示发送了多少封电子邮件。如果单击它,将打开一个报告,显示所发送电子邮件的详细信息。

如果您正在发送电子邮件,然后立即重定向到另一个页面,web调试工具栏将不会在下一页显示电子邮件图标或报告。

相反,您可以设置intercept_redirects选项真正的config_dev.yml文件,该文件将导致重定向停止,并允许您打开包含已发送电子邮件详细信息的报告。

  • YAML
  • XML
  • PHP
1 2 3
# app / config / config_dev.ymlweb_profiler:intercept_redirects:真正的

提示

或者,您可以在重定向后打开分析器,并通过前一个请求中使用的提交URL进行搜索。/联系/处理).剖析器的搜索特性允许您为任何过去的请求加载剖析器信息。

提示

除了Symfony提供的特性之外,还有一些应用程序可以帮助您在应用程序开发期间测ob娱乐下载试电子邮件,例如MailCatcher而且MailHog

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。