【问题标题】:How can I send an email to many recipients in laravel?如何在 laravel 中向多个收件人发送电子邮件?
【发布时间】:2021-07-15 03:33:12
【问题描述】:

我可以向很多收件人发送电子邮件,但问题是我正在使用订阅我的虚拟主机的企业电子邮件,问题是当我向很多收件人发送 1 封电子邮件时,我的虚拟主机会自动暂停我的电子邮件正在发送,技术上我现在遇到了问题,所以我尝试使用邮件列表,但它不会使用Mail() 向我的收件人发送电子邮件,但在向mailist-join@domain.com 发送邮件时它可以工作。

控制器:

public function imail($request){

    $dataEmail = [
        'date' => $request->date,
        'time_start' => $request->start,
        'time_end' => $request->end,
        'duration' => abs(strtotime($request->end) - strtotime($request->start))/(60*60),
        'areas' => Purifier::clean($request->areas),
        'reason' => Purifier::clean($request->activities)
    ];
    $emails = UserEmail::where('email','!=','')->select('email')->get()->pluck('email');
    $subject = 'ADVISORY (' . date("F j, Y",strtotime($request->date)) .')';

    foreach ($emails as $email) {
        Mail::to($email)
        ->send(new SendToAll($dataEmail,$subject));
    }
}

SendToAll 邮件

    <?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class SendToAll extends Mailable implements ShouldQueue
{
    use Queueable, SerializesModels;
    // public $afterCommit = true;
    public $data,$subject;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data,$subject)
    {
        $this->data = $data;
        $this->subject = $subject;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->subject($this->subject)
        ->from('myemail@domain.com','Me')
        ->view('pages.imail')
        ->with('data',$this->data);
        ;
    }
}

我也尝试过主管,但无济于事。我使用的是 Windows Server 2012。

【问题讨论】:

标签: laravel


【解决方案1】:

你必须使用下面的代码

Mail::to($email)->cc(['mail1','mail2','mail3'])->send(new SendToAll($dataEmail,$subject));

【讨论】:

  • 这也可以,邮件列表现在也可以正常工作。我忘了删除implements ShouldQueue
  • 很高兴看到您自己解决了问题。欢迎@PlayFree先生
  • 好,但是我认为如果您的主机再次检测到批量发送电子邮件,它可能会再次阻止您的电子邮件,您应该在您的主机上创建 smtp 帐户并进行相应的配置。
猜你喜欢
  • 2019-04-22
  • 2017-10-01
  • 2022-01-02
  • 1970-01-01
  • 2019-03-01
  • 2012-05-18
  • 2013-11-10
相关资源
最近更新 更多