【问题标题】:Laravel 5: Sending EmailLaravel 5:发送电子邮件
【发布时间】:2015-10-01 10:07:09
【问题描述】:

我正在尝试在 laravel 应用程序中发送电子邮件。 这是我的.env 文件:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=ehsan.sani91@gmail.com
MAIL_PASSWORD=**********
MAIL_ENCRYPTION=tls

这里是Mail::send 方法:

Mail::send('email', ['name' => "EE"], function($m){
            $m->to('ee@dx.com', 'Malik')->subject('Subjet of the email');
        });

这是错误:

Swift_TransportException in AbstractSmtpTransport.php line 383: Expected response code 250 but got code "530", with message "530 5.7.0 Must issue a STARTTLS command first. s16sm7748968wib.16 - gsmtp"

有什么帮助吗?

【问题讨论】:

  • 你在哪里使用这个代码,本地的还是服务器的?
  • 如果你的意思是 Mail::send(---) 代码,那么我在 Controller 中使用它。
  • 我的意思是......你在本地主机或服务器上!?
  • 这只是一个身份验证错误。我建议按照错误消息530 5.7.0 Must issue a STARTTLS command first. s16sm7748968wib.16 - gsmtp 的说明进行操作。
  • 一个快速的谷歌得到这个...richardwillia.ms/blog/2010/12/swift-mailer-starttls - 我希望它有帮助

标签: php email smtp laravel-5


【解决方案1】:

如果上述cmets都不起作用,请尝试清除缓存:

php artisan cache:clear
php artisan config:clear

【讨论】:

  • 这是建议还是答案?
【解决方案2】:

我犯了以下错误: 我实际上并没有包括

'encryption' => env('MAIL_ENCRYPTION'),

到mail.php 中的数组返回。我确实在 mail.php 中包含了我的主机、端口、用户名和密码,但没有包含加密方法(我只包含在 .env 文件中的加密方法),所以尝试这些提到的解决方案确实会改变错误消息的结果,造成了更大的混乱,但没有一个解决问题。希望这对某人有帮助!

【讨论】:

    【解决方案3】:

    嗯,我明白了。事实上,该电子邮件未经过身份验证,因为该电子邮件在登录后需要手机身份验证。更改为只需要登录凭据的其他电子邮件地址,它起作用了。

    .env
    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=youremail@host.com
    MAIL_PASSWORD=yourpassword
    MAIL_ENCRYPTION=tls
    

    【讨论】:

      【解决方案4】:

      GMail SMTP 需要加密。尝试如下更改设置。

       MAIL_PORT=465
       MAIL_ENCRYPTION=ssl
      

      【讨论】:

      • 尝试没有任何好处,给出错误:AbstractSmtpTransport.php 第 383 行中的 Swift_TransportException:预期响应代码 250 但得到代码“530”,消息“530 5.7.0 必须先发出 STARTTLS 命令。 w8sm20719292wja.15 - gsmtp"
      • 邮件配置中'driver' => env('MAIL_DRIVER', 'smtp')的驱动程序设置是什么??
      • 这是驱动设置:'driver' => env('MAIL_DRIVER', 'smtp')
      • 这是主机:'host' => env('MAIL_HOST', 'smtp.gmail.com'),这是邮件配置文件中的端口:'port' => env('MAIL_PORT', 465)
      • 您的.env 文件MAIL_HOST 应该是:MAIL_HOST=smtp.gmail.comenv() 函数将尝试从 .env 加载变量或使用默认值:env('KEY', 'the default')。 (这是为遇到同样问题的人准备的)
      猜你喜欢
      • 1970-01-01
      • 2016-01-27
      • 1970-01-01
      • 2016-03-01
      • 2016-12-10
      • 2017-02-11
      • 2020-06-02
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多