【问题标题】:Yagmail (Python) - How to send e-mail with BCC / blind copyYagmail (Python) - 如何使用密件抄送/密件发送电子邮件
【发布时间】:2019-08-20 18:42:22
【问题描述】:

我正在尝试使用 Yagmail 和 Python 向联系人列表发送电子邮件,同时向自己发送密件抄送 (BCC)。我在 Yagmail 文档中找不到任何描述如何执行此操作的示例。我知道这是可能的,但我的当前代码不断出错。

谁能帮我解决这个问题?

注意:此代码在我添加“bcc”作为方法参数之前有效。

守则:

yag = yagmail.SMTP(
            user={real_sender:alias_sender}, password="xxxxxx", host='smtp.xxxxxx.com', port='587',
            smtp_starttls=True, smtp_ssl=None, smtp_set_debuglevel=0, smtp_skip_login=False,
            encoding='utf-8', oauth2_file=None, soft_email_validation=True)

to = all_receivers ### list of contacts 1
bcc = all_receivers_bcc ### list of contacts 2
subject = 'SUBJECT HERE'
contents = 'HTML CONTENT HERE'

yag.send(to, bcc, subject, contents) ### FAILS HERE WHEN THE "bcc" is added

【问题讨论】:

  • 能否请您添加更多信息,例如 yagmail 包版本、失败的堆栈跟踪等。

标签: python yagmail


【解决方案1】:

你需要告诉python你输入的是哪个参数。如果不这样做,则需要确保以正确的顺序发送参数。试试这个:

yag.send(to=all_receivers, bcc=all_receivers_bcc , subject='SUBJECT HERE', contents='HTML CONTENT HERE')

【讨论】:

【解决方案2】:

我认为这段代码可以工作,请测试:
Yagmail Usage Doc
此示例使用字符串插值来放置变量。

yag = yagmail.SMTP(
            user={real_sender:alias_sender}, password="xxxxxx", host='smtp.xxxxxx.com', port='587',
            smtp_starttls=True, smtp_ssl=None, smtp_set_debuglevel=0, smtp_skip_login=False,
            encoding='utf-8', oauth2_file=None, soft_email_validation=True)

all_receivers = str(['aContact1@gmail.com','aContact2@gmail.com','aContact3@gmail.com']) #contacts list
all_receivers_bcc = str(['bbcContact1@gmail.com','bbcContact2@gmail.com','bbcContact3@gmail.com'])#contact list
subject = 'SUBJECT HERE'
contents = 'HTML CONTENT HERE'

yag.send(to='{all_receivers}', subject='{subjects}', contents='{contents}', bcc='{all_receivers_bbc}')

【讨论】:

    猜你喜欢
    • 2020-10-10
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    相关资源
    最近更新 更多