【发布时间】:2020-01-20 23:23:18
【问题描述】:
我正在尝试在 Laravel 项目中创建联系我们表单,但遇到了以下错误,想知道如何解决。
预期的响应代码为 354,但得到代码“503”,消息为“503-所有 RCPT 命令均被拒绝,并出现以下错误:503-”您的 IP:202.133.88.147:标题 503-中不允许您的域 gmail.com从“503 有效的 RCPT 命令必须在 DATA 之前”
以下是我的.ENV文件
MAIL_DRIVER=smtp
MAIL_HOST=mail.mydomain.com
MAIL_PORT=26
MAIL_USERNAME=support@mydomain.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=null
控制器
public function contactus()
{
return view('contactus');
}
public function sendContactMail(Request $request)
{
Mail::to('support@mydomain.com')->send(new ContactUs($request));
Session::flash('success','Message Sent Successfully!');
return redirect()->back();
}
ContactUs.php
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class ContactUs extends Mailable
{
protected $contactdata;
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(\Illuminate\Http\Request $request)
{
$this->contactdata = $request;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->from($this->contactdata->email)
->subject($this->contactdata->subject)
->with([
'message' => $this->contactdata->message,
'fullname' => $this->contactdata->first_name.' '.$this->contactdata->last_name
])
->markdown('emails.contactus');
}
}
提前感谢您的帮助。
【问题讨论】:
-
您是否仔细检查了 smtp 端口?没有加密的默认是25
-
您不能从@gmail 帐户从 gmail 以外的任何地方发送邮件。
-
@I.Antonov:错误“错误 503:有效的 RCPT 命令必须在 DATA 之前”通常发生在您的电子邮件服务器未正确验证您的 SMTP(外发邮件)连接时。正如@mdexp 所说,您可能设置错误的端口号。另外我认为你的
MAIL_ENCRYPTION设置应该是MAIL_ENCRYPTION=而不是MAIL_ENCRYPTION=null。 -
@mdexp 我试过 smtp 端口 25,结果还是一样。
-
@KoalaYeung 尝试 MAIL_ENCRYPTION=null,结果相同