1

我正在尝试使用 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
4

2 回答 2

1

我认为这段代码可以工作,请测试:
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}')
于 2019-08-20T18:56:44.053 回答
1

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

yag.send(to=all_receivers, bcc=all_receivers_bcc , subject='SUBJECT HERE', contents='HTML CONTENT HERE')
于 2019-08-20T18:49:21.920 回答