开发过程中如何处理电子邮件
编辑本页警告:您正在浏览的文档欧宝官网下载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-Bcc
为CC
而且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.