1

我正在使用 Amazon sdk for php 通过简单电子邮件服务发送电子邮件,所有这些都使用 Lumen 框架。

我正在使用 sdk 的客户端类而不是 Laravel 的 mailables 类,因为我需要向我的电子邮件添加一些元数据,当我尝试将电子邮件推送到队列时出现问题,因为来自 AWS sdk 的 SesClient 禁止序列化而 Laravel/Lumen 使用这个函数来创建队列

我试图包装这个类,但它也不起作用我找到了一些使用 SesClient 的包,但它们都不允许我添加元数据

我对所有类型的解决方案持开放态度,如果您需要更多信息,请告诉我,我会回答问题

提前致谢

4

1 回答 1

0

TL;博士

没有办法做到这一点

解释

长答案是你需要改变解决问题的方法

由于 AWS 客户端类在魔术方法 __sleep 上引发异常,因此您不能直接将该类发送到 Laravel 队列,因为发送它的部分过程是序列化该类。

您扩展了该类并覆盖了该方法,但是由于 AWS Client 类内部的回调,这将在未来给您带来问题。

要解决这个问题,您需要从 Laravel Job 类中提取该类,这可以通过创建一个类来包装您的流程并在该类内部创建一个 AWS 客户端的实例来完成

于 2017-10-03T15:49:04.497 回答