我使用下面的代码使用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!');
});
}
答案 0 :(得分:1)
您必须先配置队列才能使用Mail::queue
。有一个chapter in the docs可以很好地解释它
我没有使用Amazon SQS的经验,但Laravel理论上支持它。
转到 /app/config/queue.php 并更改配置
'default' => 'sqs'
并填写connections > sqs
之后,一切都应该起作用:)