【问题标题】:set sender name and last name when sending mail with Gmail API使用 Gmail API 发送邮件时设置发件人姓名和姓氏
【发布时间】:2017-05-14 21:02:18
【问题描述】:

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

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

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

【问题讨论】:

  • 假设 gmail API 接受标准 RFC822 格式,那么您大概可以设置to_address = 'John Travis <johnhomeboy@gmail.com>'。
  • 这就是答案。谢谢!
  • 对我来说,邮件选项的关键是 from,而不是 to_address。除此之外,它还可以在 ruby​​ 中使用,并在电子邮件地址前面显示所需的显示名称。

标签: python email gmail gmail-api


【解决方案1】:

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

create_message('user@example.com', 'DESTINATION_EMAIL', 'TITLE', 'BODY')

发件人姓名可以自定义


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

其中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())}

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

【讨论】:

    猜你喜欢
    • 2014-09-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2015-11-24
    • 1970-01-01
    相关资源
    最近更新 更多