使用 Gmail API 发送邮件时设置发件人姓名和姓氏

san*_*han 8 python email gmail gmail-api

通过 gmail API 发送邮件时如何设置发件人姓名和姓氏?

我使用这个代码:https : //github.com/chris-brown-nz/python-gmail-api

代码很棒,我成功发送了邮件。但是,发件人的姓名只是@sign留下的文本。示例:如果John Travisjohnhomeboy@gmail.com接收方显示的姓名发送电子邮件,则将是johnhomeboy,而不是John Travis。我需要设置什么属性才能发送带有我的名字和姓氏的电子邮件?

Ale*_*ati 4

正如 AChampion 的评论中提到的,gmail API 接受标准 RFC822 格式,因此,使用 Gmail Python API 从电子邮件发送user@example.com

create_message('user@example.com', 'DESTINATION_EMAIL', 'TITLE', 'BODY')
Run Code Online (Sandbox Code Playgroud)

发件人姓名可以自定义


create_message("CUSTOMTISED_FROM_TITLE '<user@example.com>'", 'DESTINATION_EMAIL', 'TITLE', 'BODY')

Run Code Online (Sandbox Code Playgroud)

其中create_message定义为

def create_message(sender, to, subject, message_text):
  """Create a message for an email.

  Args:
    sender: Email address of the sender.
    to: Email address of the receiver.
    subject: The subject of the email message.
    message_text: The text of the email message.

  Returns:
    An object containing a base64url encoded email object.
  """
  message = MIMEText(message_text)
  message['to'] = to
  message['from'] = sender
  message['subject'] = subject
  return {'raw': base64.urlsafe_b64encode(message.as_string())}
Run Code Online (Sandbox Code Playgroud)

按照https://developers.google.com/gmail/api/guides/sending?authuser=2的示例