sendgrid-python 客户端使用一封电子邮件,而不是另一封

sendgrid-python client works with one email, but not another

我已经让 Twilio SendGrid 的 Python API 客户端正常工作并使用一个 from_email 地址发送电子邮件。在 new/different 应用程序中,我想使用相同的 SendGrid 帐户,但使用不同的 from_email。我试过只更改 Mail class 中的 from_email 字段,但这不起作用;我收到以下错误:

Traceback (most recent call last):
  ...
  File "C:\Users\my\path\envs\myproject\lib\site-packages\sendgrid\base_interface.py", line 62, in send
    return self.client.mail.send.post(request_body=message)
  File "C:\Users\my\path\envs\myproject\lib\site-packages\python_http_client\client.py", line 277, in http_request
    self._make_request(opener, request, timeout=timeout)
  File "C:\Users\my\path\envs\myproject\lib\site-packages\python_http_client\client.py", line 184, in _make_request
    raise exc
python_http_client.exceptions.ForbiddenError: HTTP Error 403: Forbidden

我已经确认我的所有代码都适用于旧的 from_email;唯一的区别是我正在尝试使用新的 from_email

此外,我使用的两个电子邮件地址都是基于 gmail 的电子邮件;一个是@gmail.com 邮箱,另一个是自定义业务域,但是邮箱是gmail 上的运行。自定义企业域电子邮件地址是当前有效的电子邮件地址。

我的 SendGrid 帐户中是否有需要更改的设置?或者我需要为这个新的 from_email 创建一个新的 API 密钥吗?

此处为 Twilio SendGrid 开发人员布道师。

要从您的 gmail 帐户发送电子邮件,您需要先 verify that email as a sender 才能发送。

电子邮件验证是 SendGrid 了解您拥有该电子邮件的一种方法。但是,domain authentication,我假设您已经设置了您的域,它的可传递性要好得多。即使 SendGrid 知道您拥有 @gmail.com 帐户,Google 也知道当您通过 SendGrid 从该地址发送一封电子邮件时,他们并没有发送该邮件,因此您冒着落入垃圾邮件收件箱的风险。但是,为了使您的 API 请求成功,您需要验证电子邮件。