【问题标题】:How to handle callback when mail is sent in laravel 4在laravel 4中发送邮件时如何处理回调
【发布时间】:2014-09-09 09:16:30
【问题描述】:

我想知道邮件发送时如何处理回调?我想在发送邮件时执行一些操作。我知道下面的代码是错误的,假设在发送邮件之前调用 $callbackOnSend,在发送邮件之后调用 $callbackAfterSent。

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

我想知道如何实现 $callbackAfterSent?

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案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,就像 'pretend' 设置为 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多