微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Laravel 中使用自定义 SMTP 配置

如何解决如何在 Laravel 中使用自定义 SMTP 配置

我正在尝试使用自定义 SMTP 配置(不在 .env 文件中)发送电子邮件

enter image description here

我所做的尝试:

        Config::set('mail.mailers.smtp.host',$emailConfig->MAIL_HOST);
        Config::set('mail.mailers.smtp.port',$emailConfig->MAIL_PORT);
        Config::set('mail.mailers.smtp.encryption',$emailConfig->email);
        Config::set('mail.mailers.smtp.username',$emailConfig->email);
        Config::set('mail.mailers.smtp.password',$emailConfig->password);

        Config::set('mail.from.address',$emailConfig->MAIL_FROM_EMAIL);
        Config::set('mail.from.name',$emailConfig->MAIL_FROM_NAME);

         $user = (object)[
                'email' => $item,'name' => substr($item,strpos($item,'@')),];

            if ($i % $mailsCount == 0)$count++;
            if ($user){
                $thisBody = ElzahabyDynamicLaravelString($user,$body,$this->sign);
                $thisSubject = ElzahabyDynamicLaravelString($user,$subject,$this->sign);
                $when = Carbon::Now()->addMinutes($every*$count);

                Mail::to($user)
                    ->later($when,new EmailForQueuing($user,$thisBody,$thisSubject,$request->emailTemplate));
            }

但是我遇到了一个错误Swift_TransportException: Cannot send message without a sender address in

解决方法

您是否在 .env 文件中设置了电子邮件配置? 像这样:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=tls

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。