Laravel-无法从网站发送电子邮件到Web服务器

时间:2018-07-12 09:49:39

标签: php laravel email pyrocms

我正在尝试通过我的联系人发送邮件,但出现此错误:

  

Swift_TransportException(550)预期响应代码为250,但得到了代码   “ 550”,并显示消息“ 550-您的发件人地址(test@email.com,   test@email.com)必须与您的550位经过身份验证的电子邮件用户(   email@example.ro)。将其视为欺骗性的550电子邮件。 “

我的.ENV配置:


MAIL_HOST=mail.exemple.ro

MAIL_PORT=465

MAIL_ENCRYPTION=ssl

MAIL_PASSWORD=my pass

MAIL_USERNAME=email@exemple.ro

MAIL_DRIVER=smtp

FROM_ADDRESS=email@exemple.ro

我的Contoller:

{
    $validator = Validator::make($request->all(), [
        'firstName' => 'required',
        'lastName' => 'required',
        'email' => 'required',
        'services' => 'required',
        'message' => 'required',
    ]);
    if ($validator->fails()) {
        return redirect('en/404')
            ->withErrors($validator)
            ->withInput();
    }

    $form = $request->all();
    $message->success('The message was successfully send!');

    Mail::send('email/contact-form', compact('form'), function ($email_message) use ($form) {

        $email_message->subject($form['services']);
        $email_message->from($form['email']);
        $email_message->to('email@example.ro');

    });
    return back();
}

如果我尝试使用email@exemple.ro输入输入电子邮件,我不会收到任何错误,但是当我尝试输入gmail或其他电子邮件时,我会收到上面的错误。

请帮助!

1 个答案:

答案 0 :(得分:1)

您在这里弄乱了代码

只需替换

中的代码
Mail::send('email/contact-form', compact('form'), function ($email_message) use ($form) {

    $email_message->subject($form['services']);
    $email_message->from($form['email']);
    $email_message->to('happy@greenfab.ro');

});

到下面的这个

Mail::send('email/contact-form', compact('form'), function ($email_message) use ($form) {

    $email_message->subject($form['services']);
    $email_message->from(env('MAIL_USERNAME'),$form['email']);
    $email_message->to(env('MAIL_USERNAME'));
});

您在中弄乱了代码。由于您只能在发件人中输入电子邮件,并且可以在端口 MAIL_PORT 上对您的 MAIL_HOST 服务器进行身份验证,因此,当您在以下情况下不会出现任何错误您输入电子邮件地址。

我希望这会对您有所帮助。