gpt4 book ai didi

php - sendmail Laravel 不发送电子邮件

转载 作者:行者123 更新时间:2023-12-05 08:07:14 24 4
gpt4 key购买 nike

我编写了以下代码,使用 Laravel Controller 方法将电子邮件发送到指定的电子邮件地址:

public function sendEmail(Request $request){
$question = $request->get('question');
$phone = $request->get('phone');

$from_email = $request->get('email');
$from_name = $request->get('name');

$to_email = 'XXX';
$to_name = 'XXX';

$data = array('name'=>"Sam Jose", "body" => $question . "\n" . $phone);

Mail::send(array(), $data, function($message) use ($to_name, $to_email, $from_email, $from_name) {
$message->to($to_email, $to_name)
->subject('Vraag | XXX');
$message->from($from_email, $from_name);
});
}

除此之外,我将以下内容添加到我的 .env 文件中:

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=XXX
MAIL_PASSWORD=XXX
MAIL_ENCRYPTION=ssl

如果我在我的本地主机上运行此代码,它确实会向指定地址发送邮件,如果我在我的子域上运行它,它不会在不发送电子邮件的情况下发出任何错误消息。

最佳答案

在你的 Controller 上

 use Mail;

在 Controller 函数中使用此代码发送邮件。mail.welcome 是您要发送的邮件正文..

$data=array('body'=>$message,'name'=>'XXXXX');
Mail::send('mail.welcome',$data,function ($message)use ($email,$subject)
{
$message->to($email)->from('XXXXX@gmail.com', 'XXXX')->subject($subject);
});
if(count(Mail::failures()) > 0){
return redirect()->route('mail.view')->with('error','Error in sending mail');
}
else {
return redirect()->route('mail.view')->with('response','Mail Send Successfully');
}

如果您正在使用 gmail 发送邮件。请更改您的 .env 文件

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=xxxxxxx@gmail.com
MAIL_PASSWORD=xxxxxxxxxxx
MAIL_ENCRYPTION=tls

关于php - sendmail Laravel 不发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55799560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com