Laravel:如何使用Amazon SQS处理队列

时间:2014-11-08 22:18:00

标签: laravel amazon-web-services laravel-4

我使用下面的代码使用Amazon SQS对电子邮件进行排队,消息会在Amazon SQS队列中排队,但我不知道如何处理它以便将电子邮件发送给收件人。我正在为我的项目使用共享服务器,我无法访问SSH。

//User Registration Email
static function UserRegEmail($LastName,$FirstName,$Email){

    $user = array('LastName' => $LastName,
                'FirstName' => $FirstName,
                'Email' => $Email);

     $data = array(
        'LastName' => $LastName, 
        'FirstName'=> $FirstName,
        'senderName' => 'MyCompanyName', 
        'Email' => $Email
    );

        Mail::queue('emails.user_welcome', $data, function($message) use ($user)
        {
            $message->from( 'no-reply@domain.com', 'MyCompanyName' );
            $message->to($user['Email'], $user['LastName'].' '.$user['FirstName'])->subject('Welcome!');
        });

}

1 个答案:

答案 0 :(得分:1)

您必须先配置队列才能使用Mail::queue。有一个chapter in the docs可以很好地解释它 我没有使用Amazon SQS的经验,但Laravel理论上支持它。

转到 /app/config/queue.php 并更改配置

'default' => 'sqs'

并填写connections > sqs

的详细信息

之后,一切都应该起作用:)