首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sparkpost在发送带有api的邮件时出现授权错误

sparkpost在发送带有api的邮件时出现授权错误
EN

Stack Overflow用户
提问于 2020-12-29 21:07:54
回答 1查看 248关注 0票数 0

我试图用sparkpost的api从netlify函数发送电子邮件。但是当我用函数测试该函数时:调用验证-电子邮件-无标识,我只得到一个401错误。

我有一个简单的函数

代码语言:javascript
复制
const SparkPost = require('sparkpost')
const client = new SparkPost(process.env.SPARKPOST)
const key = process.env.SPARKPOST
const handler = async(event, context, callback) => {
  console.log(key) //outputs the key, so this is not the problem
  return client.transmissions.send({
    options: {
      sandbox: true
    },
    content: {
      from: 'testing@sparkpostbox.com',
      subject: 'Hello, World!',
      html:'<html><body><p>Testing SparkPost - the world\'s most awesomest email service!</p></body></html>'
    },
    recipients: [
      {address: 'email@gmail.com'}
    ]
  })
  .then(data => {
    console.log('Woohoo! You just sent your first mailing!');
    console.log(data);
    return data
  })
  .catch(err => {
    console.log('Whoops! Something went wrong');
    console.log(err);
    return err
  });
}

这就是我得到的错误信息。我已经重新创建了api-key,但是结果相同。

代码语言:javascript
复制
Request from ::1: GET /.netlify/functions/verify-email
Whoops! Something went wrong
Error [SparkPostError]: Unauthorized
    at createSparkPostError (/Users/gregorvoinov/Desktop/local work/_intern/icons-manager/node_modules/sparkpost/lib/sparkpost.js:38:15)
    at Request._callback (/Users/gregorvoinov/Desktop/local work/_intern/icons-manager/node_modules/sparkpost/lib/sparkpost.js:128:15)
    at Request.self.callback (/Users/gregorvoinov/Desktop/local work/_intern/icons-manager/node_modules/request/request.js:185:22)
    at Request.emit (events.js:196:13)
    at Request.<anonymous> (/Users/gregorvoinov/Desktop/local work/_intern/icons-manager/node_modules/request/request.js:1154:10)
    at Request.emit (events.js:196:13)
    at IncomingMessage.<anonymous> (/Users/gregorvoinov/Desktop/local work/_intern/icons-manager/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:284:20)
    at IncomingMessage.emit (events.js:201:15)
    at endReadableNT (_stream_readable.js:1130:12) {
  name: 'SparkPostError',
  errors: [ { message: 'Unauthorized.' } ],
  statusCode: 401
}
Response with status 401 in 850 ms.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-29 21:41:18

这里可能有两个问题之一。

确保API密钥在这里启用了传输读写( https://app.sparkpost.com/account/api-keys )

  1. ,您在欧盟,并试图使用美国服务器。在这种情况下,您可以这样做:

‘主机’=>‘api.eu.spakpost.com’,

$httpClient =新GuzzleAdapter(新客户端());$sparky =新SparkPost($httpClient,‘key’>‘*,’宿主‘=> 'api.eu.sparkpost.com');

参见这里的一些详细信息,https://github.com/SparkPost/php-sparkpost/issues/180

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65498794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档