Php 如何通过Laravel发送验证电子邮件

Php 如何通过Laravel发送验证电子邮件,php,laravel,email,laravel-5,Php,Laravel,Email,Laravel 5,我正在尝试向新用户发送电子邮件,以便他们可以首先验证他们的电子邮件地址,但我收到一个异常,该异常表示需要身份验证,但我的凭据完全正确 Swift_TransportException Expected response code 250 but got code "530", with message "530 Authentication required 这就是我发送邮件的方式 namespace App\Factories; use App\Models\User; use App

我正在尝试向新用户发送电子邮件,以便他们可以首先验证他们的电子邮件地址,但我收到一个异常,该异常表示需要身份验证,但我的凭据完全正确

Swift_TransportException

Expected response code 250 but got code "530", with message "530 Authentication required

这就是我发送邮件的方式

namespace App\Factories;

use App\Models\User;
use App\Repositories\ActivationRepository;
use Illuminate\Mail\Mailer;
use Illuminate\Mail\Message;
public function __construct(ActivationRepository $activationRepo, Mailer $mailer)
{
    $this->activationRepo = $activationRepo;
    $this->mailer = $mailer;
}

public function sendActivationMail($user)
{
    if ($user->activated || !$this->shouldSend($user)) {
        return;
    }

    $token = $this->activationRepo->createActivation($user);

    $link = route('user.activate', $token);
    $message = sprintf('Activate account %s', $link, $link);

    $this->mailer->raw($message, function (Message $m) use ($user) {
        $m->to($user->email)->subject('Activation mail');
    });
}

需要身份验证=身份验证失败

确保在您的
.env
文件中(或者如果您使用
app.mail
),
邮件用户名
是电子邮件的发件人,并且
邮件用户名
邮件密码
有效

mail.php中的
发件人
地址
应该与
mail\u用户名


需要身份验证=身份验证失败

确保在您的
.env
文件中(或者如果您使用
app.mail
),
邮件用户名
是电子邮件的发件人,并且
邮件用户名
邮件密码
有效

mail.php中的
发件人
地址
应该与
mail\u用户名

在您的.env中

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=user@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
在config/mail.php中

 'from' => ['address' => 'user@gmail.com', 'name' => null],
那就行了!:-D

确保在.env中打开此选项

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=user@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
在config/mail.php中

 'from' => ['address' => 'user@gmail.com', 'name' => null],
那就行了!:-D


确保打开此选项

我还想补充一点,OP不应该像他那样更改mail.php配置。是的,他应该保持原样:“用户名”=>env(“邮件用户名”),“密码”=>env(“邮件密码”),我已将我的域配置为通过elasticmail发送电子邮件我尝试过通过gmail发送邮件,但没有成功,因此,我的电子邮件
来自
应该是我的域电子邮件,例如support@example.comI他还补充说OP不应该像他那样更改mail.php配置。是的,他应该保持原样:“username”=>env(“mail\u username”),“password”=>env(“mail\u password”),我已将我的域配置为通过elasticmail发送电子邮件我已尝试通过gmail发送邮件,但没有成功,因此我的电子邮件
from
应该是我的域电子邮件,例如support@example.com