2 回答

TA贡献1794条经验 获得超7个赞
首先验证文件中的值是否正确。特别是,请检查以下内容:.env
MAIL_DRIVER=smtp
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
无论何时对文件进行更改,请务必运行.env
php artisan cache:clear && php artisan config:cache
因此,缓存的配置已更新,并且不使用旧值!

TA贡献1877条经验 获得超6个赞
首先验证通过请求发送的电子邮件(您应该验证所有内容)
public function storeUsers(Request $request)
{
$this->validate($request, [
'email' => 'required|email'
]);
$user = new User;
$hashedRandomPassword = Hash::make('password', [
'rounds' => 12
]);
$user = new User;
$user->name = $request->user_name;
$user->email = $request->email;
$user->password = $hashedRandomPassword;
$user->save();
Mail::to($user->email)->send(new WelcomeMail($user));
return back()->with('success', 'thanks for contacting us');
}
并确保您不需要可能引发 SSL 错误的 TLS 连接
MAIL_ENCRYPTION=null
并公开用户属性,并通过依赖关系注入将其传递到构造函数
<?php
namespace App\Mail;
use App\User;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;
public $user;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
// $user object will be automatically passed to the view, so you might want to replace $data in your Blade view with $user and get rid of the ->with('data......
return $this->view('emails.welcome')->with('data', $this->user);
}
}
并尝试您的邮件的日志驱动程序,以确保这不是互联网连接问题.env
MAIL_DRIVER=log
并清除配置缓存
php artisan config:clear
希望这有帮助
- 2 回答
- 0 关注
- 149 浏览
添加回答
举报