Php Laravel电子邮件附件错误(预期响应代码250,但收到代码“421”,带有消息“421 4.4.2”)

Php Laravel电子邮件附件错误(预期响应代码250,但收到代码“421”,带有消息“421 4.4.2”),php,laravel,email,Php,Laravel,Email,Swift\u运输异常 预期响应代码250,但收到代码“421”,消息“421 4.4.2此客户端的消息提交率已超过配置的限制” 附件:6mb $data=[ 'id'=>$id, 'dokument'=>$dokument, 'extension'=>$extension, ]; Mail::to('email@email.com')->send(new \App\Mail\Mail($data)); $

Swift\u运输异常

预期响应代码250,但收到代码“421”,消息“421 4.4.2此客户端的消息提交率已超过配置的限制”

附件:6mb

 $data=[
      'id'=>$id,
      'dokument'=>$dokument,
      'extension'=>$extension,
  ];

   Mail::to('email@email.com')->send(new \App\Mail\Mail($data));

       $documentRequest=$this->data['dokument'];
        $id=$this->data['id'];

        if(!empty($documentRequest)  ){
            return $this->subject('test')
            ->view('Mail.view',compact('id'))
            ->attach(public_path('/dokumenta/form/'.$this->data['dokument']), [
                'as' => 'Document.'.$this->data['extension'],
                'mime' => 'application/'.$this->data['extension'],
            ]);
        }

现在收到421个错误是很常见的。如果接收者认为你在发垃圾邮件,他们会用它们来控制发送速度。根据RFC821,421的意思是“服务不可用”,但它经常被用来表示“我现在很忙,稍后再回来”,发送服务器就应该这样做——将消息放回队列中,稍后重试

显然,当您直接通过远程服务发送时,您可能不想执行所有繁琐的队列和重试处理,事实上,Laravel应用程序并不是实现这一点的地方


解决这个问题的正确方法是将本地邮件服务器配置为通过远程服务进行中继,然后让脚本提交到该服务器。这样,您的应用程序的响应速度将大大提高(提交到localhost基本上是即时的),邮件服务器将处理排队和重试。Postfix在这方面非常有效。

+Synchro感谢您的回复,通过在配置文件中编辑my mail.php并手动设置my local_domain,它会修复问题'local_domain'=>env('mail_HOST','mail.mydomain.com'),