发送smtp邮件laravel不起作用

时间:2019-01-24 13:47:29

标签: php laravel email smtp

我在laravel项目中遇到问题,不知道如何解决 我使用mailtrap smtp服务器为特殊用户发送邮件 邮件未发送-我尝试了所有方法! 在其他新的laravel项目smtp服务器中成功运行 你的想法是什么?

这是我的控制器:

 public function SendContactRespone(ContactReply $request , $id)
{

    Mail::to($request->email)->send(new ContactRespone($request));

    //Contact_form::destroy($id);
    return redirect(route('admin.contact.index'))
        ->with('success', trans('app.err.AnswerEmailed'));
}

这是我的ContactRespone可邮寄邮件

    <?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class ContactRespone extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($request)
    {
        $this->request = $request;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
     return  $this
           ->from(env('MAIL_FROM_ADDRESS','info@secretpass.ir'))
           ->subject($this->request->subject)
           ->markdown('ui.mails.contactReply')
           ->with([
            'subject' => $this->request->subject,
            'message' => $this->request->text,
        ]);

    }
}

环境设置:

    MAIL_DRIVER=smtp
MAIL_HOST="smtp.mailtrap.io"
MAIL_PORT="2525"
MAIL_USERNAME="******"
MAIL_PASSWORD="*******"
MAIL_ENCRYPTION=''
MAIL_FROM_ADDRESS="no-reply@*****.***"

提交请求后,将电子邮件html源保存在Storage / log / laravel.log

1 个答案:

答案 0 :(得分:0)

更改邮件陷阱的 .env 文件配置:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=USERNAME
MAIL_PASSWORD=PASSWORD
MAIL_ENCRYPTION=null

在这里您可以获得用户名密码 https://mailtrap.io/inboxes,您将看到以下邮件陷阱SMTP凭据,用户名和密码位于

更改.env编辑后,请清除缓存:php artisan config:cache