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

时间:2016-01-05 11:45:09

标签: php sendgrid

我试图用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'与消息   ' {"错误":["错误的用户名/密码"],"消息":"错误"}'


而不是'用户名'和' xx.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxx'我当然使用Sendgrid设置中的真实API密钥信息: enter image description here

我使用了创建API密钥后提供的长字符串密钥。但这条线似乎还有问题: $ sendgrid =新的SendGrid('用户名',' xx.xxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxx');

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

2 个答案:

答案 0 :(得分:8)

另一个可能的答案是只将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");

答案 1 :(得分:3)

而不是使用'用户名'这是API密钥的名称,请尝试使用您的SendGrid用户名(用于登录仪表板的用户名等)。

编辑:为了使其工作,也使用Sendgrid密码而不是API密钥。这对我有用。

编辑2:虽然这解决了问题,但应该只使用所选答案中提到的api密钥。