在 Symfony2 dev env 控制器中捕获 swiftmailer 异常

2024-06-23

我不知道为什么我没有在我的控制器中捕获 Swiftmailer 的异常。我做错了什么,或者错过了什么?

在控制器中我有:

try {
    $this->get('mailer')->send($email);
}
catch (\Swift_TransportException $e) {
    $result = array(
        false, 
        'There was a problem sending email: ' . $e->getMessage()
    );
}

它似乎在到达我的代码之前就被 Symfony 捕获了,所以我无法自己处理错误,而是得到了标准的 500 页面Swift_TransportException: Connection could not be established

如果电子邮件无法发送,则无需停止应用程序,因为电子邮件并不重要 - 我只是想发出通知。

也许有一种方法可以禁用 Symfonys 捕获某些异常或某些控制器?


当你这样做时$this->container->get("mailer")->send($email);如果您打开了假脱机功能,则此时不会发送电子邮件。看http://symfony.com/doc/current/cookbook/email/spool.html http://symfony.com/doc/current/cookbook/email/spool.html

如果您的默认设置为spool: { type: memory }, the \Swift_TransportException将在控制器退出后的内核终止阶段抛出。 解决此问题的一种方法是关闭假脱机(但随后您的用户可能必须等待电子邮件发送),或者您可以创建自己的事件侦听器来处理异常。http://symfony.com/doc/current/cookbook/service_container/event_listener.html http://symfony.com/doc/current/cookbook/service_container/event_listener.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Symfony2 dev env 控制器中捕获 swiftmailer 异常 的相关文章

随机推荐

  • 处理大量 HTTP JSON 响应的最佳方法

    解析来自服务器的 JSON 回复 以 1 个大行返回 的最有效方法是什么 我不想 不需要将此 JSON 映射 到某些自定义 业务对象 因为我只需要结构的特定部分 主要是在一组数组中查找特定的标签及其值 UPDATE 我正在寻找一种有效的方法
  • 为什么 10000000000000000 != 10000000000000000 ?

    首先 使用 C 在 Visual Studio 中查看以下代码 float a 10000000000000000 0 float b a 10000000000000000 0 当打印出来时 结果是 a 10000000272564224
  • Python - 将字符串列表转换为浮点数 - 方括号和小数点导致问题

    我有一个文本文件 其中包含较小的数据集 取自 csv 文件 如下所示 2020 05 24T10 44 37 613168 0 0 0 06210425 0 2020 05 24T10 44 37 302214 1 1 0 0 2020 0
  • Apache Flink CEP 如何检测事件是否在 x 秒内没有发生?

    例如 A 应在 10 秒内跟随 B 我知道如何跟踪此事件是否确实发生 next within 但如果 B 从未在窗口内发生 我想发送警报 public static void main String args throws Exceptio
  • 属性“resValues”的值无法再更改。将 gradle 从 4.1.3 升级到 4.2.1 后

    将 gradle 从 4 1 3 升级到 4 2 1 后 我在构建应用程序时开始收到此错误 属性 resValues 的值无法再更改 只需更新到1 9 2 https developers heap io docs android chan
  • Visual Studio 在构建过程中不断挂起

    大概在我构建解决方案的 25 到 50 的时间里 我会看到这样的情况 您请求的操作完成时间比预期要长 操作完成后 该对话框将关闭 https i stack imgur com coct6 png 我以一种无法形容的方式讨厌这扇窗户 它永远
  • 如何计算 NSDictionary 对象的总大小?

    如何计算总大小NSDictionary目的 我有 3000 个 StudentClass 对象NSDictionary用不同的键 我想计算字典的总大小 以 KB 为单位 我用了malloc size 但它总是返回 24 NSDictiona
  • 我是否可以以编程方式要求 eclipselink 删除并创建所有表?

    这有助于单元测试 以下内容应该适合您 ServerSession session entityManager unwrap ServerSession class SchemaManager schemaManager new Schema
  • 更新的生命周期事件:仅在特定元素上的 dom 更新后使用观察者进行操作

    在 Vue 中有 updated 生命周期方法 适合在数据输入后对我的标记进行操作 在我的例子中 我手动推动 SVG 文本 使其与由于输入新文本而导致其尺寸发生变化后的某些内容对齐 嗯 看来我想用 watch 块 因为它允许我只在speci
  • 从 apk 中排除 abi

    在我的应用程序中 我使用 renderscript 它具有 x86 armeabi v7a 和 mips 的本机代码 每个约为 2 7Mb 我还了解到 mips 架构只有少数设备 因此 我想将我的应用程序捆绑在两个 APK 中 univer
  • HTML / Javascript - 阻止左/右箭头更改下拉菜单选项

    我正在创建一个带有输入网格的 Web 表单 用于在 Django 中创建对象 似乎当焦点位于下拉菜单时 向上和向左箭头选择上一个项目 向右 向下箭头选择下一个项目 我想使用左 右箭头在网格上向左或向右移动焦点 有点像 Excel 那样 我可
  • vimscript 调用与执行

    在 vimscript 中 有什么区别call and execute 在什么场景 用例中我应该使用其中一种而不是另一种 免责声明 我知道 vim 中提供了广泛的在线帮助 我正在寻找这个特定问题的简洁答案 call 调用函数 exec 将字
  • 通过 https 的客户端证书身份验证失败

    我正在尝试使用 https 客户端身份验证工作这个示例代码 https stackoverflow com a 4464435 789671在 Python 2 7 中 不幸的是 客户端脚本似乎没有正确验证 我无法找出原因 我生成了一个测试
  • Django 模型中的派生属性

    我有这两个模型 class Product models Model category models ForeignKey Category name models CharField max length 60 verbose name
  • Android 状态栏在启动屏幕中隐藏/更改颜色

    我按照本教程在我的应用程序中实现了无布局的启动屏幕 https www bignerdranch com blog splash screens the right way https www bignerdranch com blog s
  • Android:按钮位于列表视图末尾或屏幕底部

    我的 Android 应用程序要求一个按钮位于列表的底部 这是故意这样做的 因此用户必须滚动整个列表 并且可能会看到更多答案 因此 我将按钮添加为列表视图页脚 这一切都工作正常 但在某些情况下 列表太短 其中只有 3 4 个项目 因此按钮最
  • 如何在不使用 Flash 的情况下使用 HTML5 进行直播?

    问题 我需要我的客户能够将他们的网络摄像头传输到我的流媒体服务器 例如 Wowza 服务器 我正在用 PHP 构建我的网站 我浏览了各种流媒体网站 如 twitch tv livestream com 发现它们都使用第三方广播软件 如 Wi
  • 内容类型与 MIME 类型

    有人可以向我解释 Content Type 和 MIME 类型之间有什么区别吗 我在网上找不到明确的答案 如果Content Type通常在浏览器内部使用 操作系统使用 MIME 类型吗 In Content Type text plain
  • 如何在javascript中后台发送http请求?

    我有一个按钮 事件将是 onclick 然后 javascript 函数将向服务器发送请求 例如项目上的评级按钮 页面不应重定向 基本上我希望事件在后台发生 怎么做 请给我一些想法或代码 欢迎来到 AJAX 的奇妙世界 ajax 调用的问题
  • 在 Symfony2 dev env 控制器中捕获 swiftmailer 异常

    我不知道为什么我没有在我的控制器中捕获 Swiftmailer 的异常 我做错了什么 或者错过了什么 在控制器中我有 try this gt get mailer gt send email catch Swift TransportExc