如何为通过SendGrid API v3发送的邮件添加发件人名称?
解决SendGrid Mail对象添加发件人名称的问题
你不需要给Mail对象额外加name或from_name参数,正确的做法是通过构造包含名称的发件人邮箱格式,或者使用SendGrid的Email类来定义带名称的发件人:
方法1:直接构造带名称的字符串格式
把from_email的值改成"显示名称 <邮箱地址>"的格式即可,示例代码:
Mail( from_email = f"My Application <{EMAIL_CREDENTIAL['FROM_EMAIL']}>", to_emails = to_email, subject = subject, html_content = html_content, is_multiple=is_multiple )
这种方式不需要导入额外类,直接修改字符串就能生效,是最简便的实现方式。
方法2:使用SendGrid的Email类构造发件人
如果你更倾向于结构化的方式,可以导入Email类,通过它定义发件人名称和邮箱:
from sendgrid.helpers.mail import Mail, Email # 构造带名称的发件人对象 from_email_obj = Email(email=EMAIL_CREDENTIAL['FROM_EMAIL'], name="My Application") Mail( from_email = from_email_obj, to_emails = to_email, subject = subject, html_content = html_content, is_multiple=is_multiple )
两种方式都能让收件人在邮箱中看到My Application <support@application.com>的发件人信息,你可以根据代码风格选择其中一种。
内容的提问来源于stack exchange,提问作者analyticsPierce
相关产品推荐
相关产品推荐

