我正在尝试在 Laravel 项目中创建联系我们表单,但遇到以下错误并想知道如何解决此问题。
预期的响应代码 354,但得到代码“503”,消息“503-所有 RCPT 命令被拒绝并出现此错误:503-”您的 IP:202.133.88.147:标题 503-From 中不允许您的域 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
Run Code Online (Sandbox Code Playgroud)
控制器
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();
}
Run Code Online (Sandbox Code Playgroud)
联系我们.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');
}
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助。
从错误消息来看,您可能正在通过 Gmail 的 SMTP 服务发送电子邮件。
你的.env
应该看起来像这样:
MAIL_DRIVER=smtp
MAIL_HOST=mail.mydomain.com
MAIL_PORT=587
MAIL_USERNAME=support@mydomain.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)
您还需要确保:
您的域mydomain.com
已正确设置为使用GSuite的 Gmail。您无法将 Gmail 的 SMTP 设置为发送不在 GSuite 中的域或 Gmail 帐户中的电子邮件。
归档时间: |
|
查看次数: |
16106 次 |
最近记录: |