我的代码发送通知但不发送电子邮件。我在 Google Chrome 的 Pushbullet 扩展程序中收到通知,但在我的电子邮件收件箱中没有。不返回任何错误(例如 404、405 等)。
我正在使用 Python3。
这是发送的数据(email
保存我传递给函数的电子邮件地址):
data_send = {
"email": email,
"type": "note",
"title": "Title",
"body": "Message"
}
这是请求:
resp = requests.post('https://api.pushbullet.com/v2/pushes',
data=json.dumps(data_send),
headers={'Authorization': 'Bearer ' +
self.ACCESS_TOKEN,
'Content-Type': 'application/json'})
这是我设置的,所以如果有任何错误,它将在控制台上打印出来:
if resp.status_code != 200:
raise Exception('Something wrong')
else:
print(resp.text)
当我运行它时,我得到了这个响应(我已经删除了任何个人详细信息并像这样复制到这里,因为它比代码格式更容易看到):
{"active":true,"iden":"xxxxxx","created":xxxxxx,"modified":xxxxxx,"type":"note","dismissed":false,"direction":"self"," sender_iden":"xxxxxx","sender_email":"xxxxxx","sender_email_normalized":"xxxxxx","sender_name":"xxxxxx","receiver_iden":"xxxxxx","receiver_email":"xxxxxxxx","receiver_email_normalized" :“xxxxxx”,“标题”:“标题”,“正文”:“消息”}
另外,我在 Google Chrome 的 Pushbullet 扩展程序中收到通知。但是电子邮件仍然没有到达我的电子邮件中。
Pushbullet API 文档说将目标设置为“电子邮件”。我尝试实现的方法:
data_send = {
"target": "email",
"type": "note",
"title": "Title",
"body": "Message"
}
和
data_send = {
"target": {"email": email},
"type": "note",
"title": "Title",
"body": "Message"
}
和
data_send = {
"type": "note",
"title": "Title",
"body": "Message"
}
data_send["target"] = "email"
这些都不起作用。
我了解由于垃圾邮件而向其他电子邮件地址发送电子邮件可能会出现问题,但向我自己发送电子邮件应该可以。如果它没有向指定的电子邮件地址发送电子邮件,则应该向与我的帐户关联的电子邮件地址(相同的电子邮件地址)发送电子邮件。
它只是意味着需要很长时间吗?电子邮件应该已经发送了几个小时。
我查看了关于 SO 的其他问题,最相关的问题似乎是this和this。
这两个问题在这种特定情况下都没有真正的帮助,因为他们没有提到没有错误但没有收到电子邮件。
抱歉,如果这很长,请让我知道这个问题是否不合适/违反准则。
编辑:我意识到如果电子邮件与与我的帐户关联的电子邮件相同,它可能最终只会发送通知而不是电子邮件,因为 Pushbullet 检测到我有该电子邮件的帐户。我已尝试将电子邮件设置为与我的帐户关联的电子邮件不同的电子邮件。但是,这样做仍然不起作用。
Edit2:当我尝试向外部电子邮件发送电子邮件时,当我访问 Pushbullet 网站时,该电子邮件会出现在对话列表中。当我转到设置 > 人员时,当我运行我的程序时会出现电子邮件。电子邮件仍未到达他们的收件箱。
TLDR:我的代码是不是没有发现我没有看到的错误?还是 Pushbullet 通常需要几个小时才能发送电子邮件?