【问题标题】:Unable to figure out username and password for Sendgrid SMTP (Laravel)无法找出 Sendgrid SMTP (Laravel) 的用户名和密码
【发布时间】:2018-11-15 21:15:23
【问题描述】:

我在一个相当大的网站上工作,我们最近遇到了一个大漏洞,暴露了我们的 .env 详细信息。此后,我们更改了所有 API 密钥,包括 Sendgrid。

我遇到的问题是我们无法确定 MAIL_USERNAME 和 MAIL_PASSWORD 变量的正确方案是什么。

他们提供的密钥是这样的:SG.<some characters>.<some characters>

在我们之前的 .env 中,MAIL_USERNAME 设置为第一个“一些字符”,密码可能是第二部分,尽管它们不允许我们查看 API 密钥。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=<first part of API key>
MAIL_PASSWORD=<second part of API key>
MAIL_ENCRYPTION=tls

谁能告诉我我在这里做了什么完全愚蠢的事情,或者指出我正确的方向?

【问题讨论】:

  • 也只是为了澄清我们已经尝试过的一些事情:使用登录详细信息作为用户名和密码,生成新的 API 密钥并为每个变量使用密钥的不同部分
  • 请尝试php artisan config:clear 并检查您是否在config/mail.php 添加了发件人电子邮件ID。
  • 地址/姓名和邮件到东西的邮件也都设置好了。所以现在我已经解决了设置用户名和密码的问题,因为我想出了要使用的凭据,但仍然没有发送任何内容。我会在有更多信息后立即更新。

标签: php laravel environment-variables sendgrid


【解决方案1】:

由于您使用的是SMTP with your API Key,因此您的用户名应该是文字字符串apikey,而您的密码是完整的API 密钥,即整个SG.*.*

【讨论】:

    【解决方案2】:

    修改 .env 文件,如下所示:

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.sendgrid.net
    MAIL_PORT=587
    MAIL_USERNAME=apikey
    MAIL_PASSWORD=SG.***.***
    MAIL_ENCRYPTION=tls
    MAIL_FROM_NAME="John Smith"
    MAIL_FROM_ADDRESS=from@example.com
    

    详情click here

    用于创建 API 密钥 click here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-10
      • 2020-07-24
      • 1970-01-01
      • 2019-01-20
      • 2016-04-09
      • 2010-09-11
      • 2012-04-28
      • 2012-03-14
      相关资源
      最近更新 更多