如何在laravel 4中发送邮件时处理回调

时间:2014-07-18 09:23:58

标签: php laravel laravel-4

我想知道如何在发送邮件时处理回调?我想在邮件发送时做一些动作。我知道下面的代码是错误的,让我们说在发送邮件之前调用$ callbackOnSend并在邮件发送后调用$ callbackAfterSent。

Mail::send(array('text' => 'view'), $data, $callbackOnSend, $callbackAfterSent);

我想知道如何实现$ callbackAfterSent?

1 个答案:

答案 0 :(得分:-1)

如果发送邮件,Mail :: send()方法将返回true。

$mailVariables = ['from' => 'abc@abc.com'. 'fromName' => 'abc', 'to' => '123@123.com', 'cc' => 'xyz@xyz.com', 'attachment' => 'file1'];

Mail::send('emails.welcome', $data, function($message) use ($mailVariables)
{
    $message->from($mailVariables['from'], $mailVariables['fromName']);

    $message->to($mailVariables['to'])->cc($mailVariables['cc']);

    $message->attach($mailVariables['attachment']);
});

如果你需要在发送邮件之后/之后做一些事情,你可以将整个Mail :: send()包装在if语句中,但是,从我所读过的内容中,它赢了。工作,如果你有' pretent'在您的配置中设置为true,与“假装'设置为true,mail :: send()将始终返回false。

if(Mail::send('emails.welcome', $data, function($message) use ($mailVariables)
    {
        $message->from($mailVariables['from'], $mailVariables['fromName']);

        $message->to($mailVariables['to'])->cc($mailVariables['cc']);

        $message->attach($mailVariables['attachment']);
    })) {
// do something
}