我正在使用SendGrid API v3(Python)从应用程序发送电子邮件。这些是包含附件(由应用程序动态生成的报告)的单收件人电子邮件。当应用程序发送电子邮件时,无论电子邮件是否实际成功发送,总是返回响应码202。
我的应用程序将所有响应代码记录为202,但是当我进入SendGrid活动供稿时,我会发现一些未送达的电子邮件(被阻止,退回等)。
在这一点上,我认为SendGrid API发送调用只是从其自己的SendGrid电子邮件服务器(202)返回响应代码,而不是从SendGrid服务器向收件人的电子邮件服务器返回响应代码。
问题是:您实际上如何获得使用SendGrid的API发送尝试发送的电子邮件的真实响应?
我的Python代码如下:
message = Mail(from_email=from_email,
to_emails=email_address,
subject=subject,
html_content=html_content,
plain_text_content=text_content
)
try:
# Note that general exceptions should be caught by Sentry
sg = SendGridAPIClient('SENDGRID_API_KEY')
response = sg.send(message)
except SMTPRecipientsRefused:
msg = 'Unable to send email to '
msg += "'" + email_address + "'"
我缺少使用此API的一些关键方面吗?