簡體   English   中英

Laravel在不使用foreach循環的情況下發送單獨的多個郵件

[英]Laravel sending separate, multiple mail without using foreach loop

我在SwiftMailer庫下的laravel中使用Mail函數。

Mail::send('mail', array('key' => $todos1), function($message) {
        $message->to(array('TEST@example.com','TESsdT@example.com','TESjxfjT@example.com','TESfssdT@example.com'))->subject('Welcome!');
    });

上述功能向多個用戶發送郵件,但用戶知道誰將所有郵件發送為其地址所包含的

To: TEST@example.com, TESsdT@example.com, TESjxfjT@example.com, TESfssdT@example.com

所以為了糾正這個問題,我使用了一個foreach循環,它將郵件分開發送

    foreach($to as $receipt){
        //Mail::queue('mail', array('key' => $todos1), function($message) use ($receipt)
        Mail::send('mail', array('key' => $todos1), function($message) use ($receipt)
        {
            $message->to($receipt)->subject('Welcome!');
        });
    }   

上面的代碼工作得很好......

我的問題是,在這個高級框架中,有任何功能可以發送郵件給用戶具有唯一to地址 (即),而沒有一個用戶知道有多少其他人在不使用foreach情況下發送相同的郵件...

你可以使用密送(盲目復印):

Mail::send('mail', array('key' => $todos1), function($message) {
    $message->to('firstemail@example.com')
    ->bcc(array('TEST@example.com','TESsdT@example.com','TESjxfjT@example.com','TESfssdT@example.com'))
    ->subject('Welcome!');
});

您可以使用CC或BCC向N個人發送相同的html郵件:

$content = '<h1>Hi there!</h1><h2 style="color:red">Welcome to stackoverflow..</h2>';
     $bcc = ['*****@gmail.com','******@gmail.com'];
     $sub = "Sample mail";
      Mail::send([], [], function($message) use ($content, $sub, $bcc) {
        $message->from('ur-mail-id@gmail.com','name');
        $message->replyTo('no-reply@gmail.com', $name = 'no-reply');
        $message->to('******@domain.com', 'name')->subject($sub);
        $message->bcc($bcc, $name = null);
        // $message->attach('ch.pdf'); // if u need attachment
        $message->setBody($content, 'text/html');
      });

SwiftMailer的工作方式與普通電子郵件客戶端(Outlook,Thunderbird ...)類似。

你正在做的是唯一100%正確的做法,但你仍然可以像史蒂夫建議的那樣,使用BCC,但不要在to中使用noreply或其他非重要的電子郵件地址,因為所有收件人都會看到電子郵件地址。

注意 :單個函數調用不會使代碼更快或資源更少。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM