我正在尝试使用Yagmail和Python将电子邮件以及对我的密件副本(BCC)发送给联系人列表。我在Yagmail文档中找不到任何描述如何执行此操作的示例。我知道有可能,但是我的当前代码不断出现错误。
有人可以帮我解决这个问题吗?
注意:该代码将一直起作用,直到我将“密件抄送”添加为方法参数。
代码:
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
答案 0 :(得分:1)
您需要告诉python您要输入哪个参数。如果不这样做,则需要确保以正确的顺序发送参数。试试这个:
yag.send(to=all_receivers, bcc=all_receivers_bcc , subject='SUBJECT HERE', contents='HTML CONTENT HERE')
答案 1 :(得分: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}')