【问题标题】:Amazon SQS queue Not sending mail on my idAmazon SQS 队列不在我的 ID 上发送邮件
【发布时间】:2016-02-13 10:43:27
【问题描述】:

我正在使用 laravel 4.2,我是 SQS 队列的新手,我的代码工作正常,我也可以在 aws 控制台中看到我的队列,但它没有在我的电子邮件 ID“ibrar@whiterabbit.is”上发送邮件。我正在使用 mandrill 发送邮件。

Mail::queue($template, $data, function($m) use ($data, $subject,   $admin_email, $site_title) {
  $m->from($admin_email, $site_title);
  $m->to("ibrar@whiterabbit.is", "ibrar@whiterabbit.is");
  $m->subject($subject);
  }); 

我也尝试了该代码,但问题是一样的,在 Queue::push 之后它没有进入 Mail::send

Queue::push(function($job) use ($data) {
      Mail::send($template, $data, function($m) use ($data, $subject, $admin_email, $site_title) {
      $m->from($admin_email, $site_title);
      $m->to("ibrar@whiterabbit.is", "ibrar@whiterabbit.is");
      $m->subject($subject);
      });
    });

【问题讨论】:

  • 我认为您将 SQS 服务与 SES 服务混淆了。
  • 我想我应该在队列作业后使用 php Listener。

标签: php amazon-web-services laravel-4 message-queue amazon-sqs


【解决方案1】:

在我看来,SQS 是一个简单的队列服务,我将它用于 RabbitMQ 等。您可以将电子邮件推送到您的队列,但您必须对其进行处理。

要发送电子邮件,您必须使用 SES。此刻,您将邮件推送到队列中,但未发送。

SES 是一个简单的邮件系统,您可以通过 smtp 将您的邮件直接发送到 SES 女巫发送您的邮件。但是我可能没有正确理解您的问题。

【讨论】:

  • 当电子邮件进入 SQS 队列时,SES 会知道并将其发送到用户电子邮件吗?是使用 beanstalk/Lamda 还是别的什么?
  • SQS 不发送任何内容。您需要一些东西来处理和发送消息。为此,如果您不想在主程序中实现它,可以使用 Lambda。
猜你喜欢
  • 2018-08-29
  • 2017-02-07
  • 1970-01-01
  • 1970-01-01
  • 2017-04-12
  • 2016-01-18
  • 2019-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多