我试图获得基本的" hello world" sendgrid的工作,但到目前为止都没有成功。响应返回代码202,表明它将发送电子邮件,但电子邮件永远不会发送。有谁知道发生了什么?
import sendgrid
sg = sendgrid.SendGridAPIClient(apikey='**my-api-key**')
data = {
"personalizations": [
{
"to": [
{
"email": "me@gmail.com"
}
],
"subject": "Hello World from the SendGrid Python Library!"
}
],
"from": {
"email": "me@gmail.com"
},
"content": [
{
"type": "text/plain",
"value": "Hello, Email!"
}
]
}
response = sg.client.mail.send.post(request_body=data)
print(response.status_code)
答案 0 :(得分:5)
我刚遇到此问题:我使用SendGrid创建了一个帐户并尝试使基本示例正常工作,API会返回202
响应,但电子邮件从未发送过,the SendGrid web UI's activity feed显示没有活动。
我submitted a SendGrid support ticket并且大约8小时后收到回复,说他们已经停止了我的帐户发送电子邮件的能力:
在提交答案后约15个小时,我收到一条回复,说我的帐户已被“激活”:您好,
感谢您联系SendGrid支持!
您的帐户似乎已被我们的合规团队关闭,这就是问题的原因。
要重新启动,我们想了解更多关于您将通过SendGrid发送的电子邮件的信息。请详细说明以下内容:
您的业务性质,您提供的服务以及潜在客户群
您的发送频率和音量
如何收集收件人地址(链接到选择页面或注册过程)
您将如何允许收件人选择退出您的电子邮件(您是否计划使用SendGrid的一键取消订阅功能,或者如果您有自己的方法)
- 醇>
您要发送的邮件类型(交易或营销)
请尽快回复,以便继续激活过程。谢谢你的合作!
嗨nathan.wailes,
感谢您提供更多信息!您的SendGrid帐户已经 已激活,现在可用于发送电子邮件。要开始,请检查 我们的Getting Started页面。
如果你在设置时遇到任何障碍,你可以找到 解决常见问题和我们Knowledge Base中的常见问题解答。
如果您还有其他问题,请与我们联系!
最佳,
Stevin O。
助理支持工程师
当我运行基本示例代码并将我的电子邮件地址设置为收件人时,电子邮件会立即显示在我的Gmail收件箱中。
答案 1 :(得分:2)
通过转到此处的sendgrid api日志来调试它: https://app.sendgrid.com/email_activity
就我而言,这是一个接收域名的DMARC。
答案 2 :(得分:1)
以防有人遇到类似问题,寻找答案。我通过用DNS记录确认域来解决了相同的问题-之后,一切都像魅力一样工作了。
在Sendgrind中:设置>发送者身份验证>域身份验证
答案 3 :(得分:0)
我最近遇到了同样的问题。我的电子邮件没有任何原因未发送,响应状态为202,电子邮件活动为空。可能的解决方案是添加公司详细信息,然后在电子邮件中添加取消订阅的阻止。那对我有用。
我正在实现密码重置功能,对此有一个取消订阅的块有点奇怪。我将尝试弄清这种沉默抑制的真正原因是什么。可能是因为我试图多次发送草稿的调试电子邮件,看起来像是垃圾邮件。也许SendGrid有一些智能算法可以检测到这一点。
答案 4 :(得分:0)
我也遇到了这个问题。我联系了sendgrid支持人员,但是在等待期间,我将伪数据更改为真实的数据,并以此来调用sendgrid API。
尤其是我将电子邮件地址从更改为显示自己的域。
答案 5 :(得分:0)
未验证DNS并且未在from email
中使用注册电子邮件时,发生了相同的问题。
只需更改from email
即可注册电子邮件。
答案 6 :(得分:0)
从 SendGrid 返回的 202 Accepted Status Code 并不真正表示邮件已成功发送到收件人收件箱。它表示消息有效并且已经“排队等待发送”。现在,由接收服务器将该邮件发送到收件人收件箱,或者将其发送到垃圾邮件,或者直接丢弃该邮件。
从 SendGrid 返回 202 Accepted Status 代码的邮件实际上并未发送到收件人收件箱的原因有多种。 例如:
另一件需要注意的事情是,如果域身份验证没有正确设置,SendGrid 可能会将邮件发送到垃圾邮件/垃圾邮件。因此,请确保您的域通过了正确的身份验证。
这里是 SendGrid 文档的链接,其中详细解释了这些事件。 https://sendgrid.com/blog/delivered-bounced-blocked-and-deferred-emails-what-does-it-all-mean/
答案 7 :(得分:0)
我遇到了同样的问题,并通过添加具有完全访问权限的新 api 密钥来解决