编程语言
首页 > 编程语言> > php-如何保存Swiftmailer发送的所有电子邮件

php-如何保存Swiftmailer发送的所有电子邮件

作者:互联网

我正在构建一个Symfony 2 Web应用程序.我的电子邮件是通过Swiftmailer发送的.
由于在我的Web应用程序的上一版本中,我在数据库中记录了mailer类/函数发送的所有电子邮件以进行跟踪(请查看系统是否正常运行,并有一定证据证明至少已发送我的电子邮件) ,我想在这个版本中做同样的事情.当时,我使用的是PHPMailer,我将其包装在一个函数中以包含PDO调用.
我现在想使用Symfony和Swiftmailer,想知道如何使用理论ORM轻松地将所有电子邮件记录在数据库中.
我想最简单的事情是每次发送电子邮件时都要手动记录它,但是我希望它能自动完成,因为我将发送很多电子邮件.我还希望以后的类像Swiftmailer一样灵活,因此将所有内容包装在“简单函数”中不是替代方案.

我的第一个想法是扩展Swiftmailer类并添加一个自定义的send方法,该方法在内部调用继承的send()方法.问题在于,我不完全知道该类的位置,而且由于内置服务使用Swiftmailer本身,因此我需要通过自定义服务进行连接或调用,不是吗?

除此之外,还有一个问题,就是电子邮件可能被假脱机了,在这种情况下,如果电子邮件确实已发送,那么send()不会给您反馈.还是我对工作方式有误解?

还有其他人有类似的问题/要求吗?如果是这样,您如何解决?

谢谢.

解决方法:

好的,我现在找到了一个捆绑包,Swiftmailer-logger-bundle,可以解决我的问题.
https://github.com/tweedegolf/swiftmailer-logger-bundle

对于那些有类似问题的人:看看那个捆绑包.如果它不符合您的需求,它将至少说明如何使用swiftmailer事件.

标签:symfony,email,php,swiftmailer
来源: https://codeday.me/bug/20191118/2025874.html