当前位置:  开发笔记 > 编程语言 > 正文

Sendgrid API - 错误的用户名/密码错误

如何解决《SendgridAPI-错误的用户名/密码错误》经验,为你挑选了1个好方法。

我正在尝试使用Sendgrid发送我的第一封电子邮件:

$sendgrid = new SendGrid('username', 'xx.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxx');
$email = new SendGrid\Email();

$email->addTo("email1@gmail.com")
      ->setFrom("email@domain.com")
      ->setSubject("Sending with SendGrid is Fun")
      ->setHtml("and easy to do anywhere, even with PHP");

这是我遇到的错误:

PHP致命错误:未捕获的异常'SendGrid\Exception',消息为"{"errors":["Bad username/password"],"message":"error"}'


我使用来自Sendgrid设置的真实API密钥信息,而不是'username'和'xx.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxx'. 在此输入图像描述

我使用了创建API密钥后提供的长字符串密钥.但是这行似乎还有问题:$ sendgrid = new SendGrid('username','xx.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxx');

我应该在哪里获取授权信息,以便我不会收到错误的用户名/密码错误?



1> Justin Steel..:

另一个可能的答案是只将api键传递给SendGrid()构造函数;

$sendgrid = new SendGrid('xx.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxx');
$email = new SendGrid\Email();

$email->addTo("email1@gmail.com")
      ->setFrom("email@domain.com")
      ->setSubject("Sending with SendGrid is Fun")
      ->setHtml("and easy to do anywhere, even with PHP");


这是正确的答案,提问者应该只传递他们的SendGrid API密钥.通过传递两个字符串,SendGrid库认为他们选择使用用户名和密码而不是API密钥.
推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有