python - 如何使用python在密件抄送中发送多封电子邮件
问题描述
我有这个代码:
import logging
import pandas as pd
from pathlib import Path
import sys
import win32com.client
import time
def run():
logging.info('Inicio do run ...')
default_path = str(Path(__file__).parents[0])
sys.path.append(f'{default_path}')
logging.info('Carregando a planilha de emails ...')
email_df = pd.read_excel(r'C:\folder-path\mailing_total.xlsx', sep=';', encoding='latin')
str1 = ' ; '.join(str(email_df['Emails1']))
str2 = ' ; '.join(str(email_df['Emails2']))
str3 = ' ; '.join(str(email_df['Emails3']))
str4 = ' ; '.join(str(email_df['Emails4']))
str5 = ' ; '.join(str(email_df['Emails5']))
str6 = ' ; '.join(str(email_df['Emails6']))
str7 = ' ; '.join(str(email_df['Emails7']))
str8 = ' ; '.join(str(email_df['Emails8']))
str9 = ' ; '.join(str(email_df['Emails9']))
str10 = ' ; '.join(str(email_df['Emails10']))
str11 = ' ; '.join(str(email_df['Emails11']))
str12 = ' ; '.join(str(email_df['Emails12']))
str13 = ' ; '.join(str(email_df['Emails13']))
str14 = ' ; '.join(str(email_df['Emails14']))
str15 = ' ; '.join(str(email_df['Emails15']))
str16 = ' ; '.join(str(email_df['Emails16']))
str17 = ' ; '.join(str(email_df['Emails17']))
str18 = ' ; '.join(str(email_df['Emails18']))
str19 = ' ; '.join(str(email_df['Emails19']))
str20 = ' ; '.join(str(email_df['Emails20']))
str21 = ' ; '.join(str(email_df['Emails21']))
str22 = ' ; '.join(str(email_df['Emails22']))
str23 = ' ; '.join(str(email_df['Emails23']))
str24 = ' ; '.join(str(email_df['Emails24']))
str25 = ' ; '.join(str(email_df['Emails25']))
str26 = ' ; '.join(str(email_df['Emails26']))
str27 = ' ; '.join(str(email_df['Emails27']))
str28 = ' ; '.join(str(email_df['Emails28']))
str29 = ' ; '.join(str(email_df['Emails29']))
print(type(str1))
if email_df.shape[0] != 0:
logging.info(f'Enviando email')
logging.info('Comunicado: Produtos estruturados')
outlook = win32com.client.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.SentOnBehalfOfName = "email@email.com"
mail.To = 'email@email.com'
mail.Bcc = str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15, str16, str17, str18, str19, str20, str21, str22, str23, str24, str25, str26, str27, str28, str29
mail.Subject = 'Comunicado - Produtos Estruturados'
index = mail.HTMLbody.find('>', mail.HTMLbody.find('<body'))
header = """
Prezado(a) Assessor(a),<br>
<br>
Cotações referente a commodities e moeda favor concentrar nestes chats ou no endereço de e-mail:<br><br>
email@email.com/ URA 11 4935-2777 (Opção 3)<br><br>
"""
message = """
<br>
Qualquer dúvida estamos à disposição.</p>
<br>
Atenciosamente,<br><br>
Isabella Schneider<br><br>
XP Inc | Global Markets - EDG Sales
<br>
"""
mail.HTMLbody = mail.HTMLbody[:index + 1] + header + message + mail.HTMLbody[index + 1:]
mail.Send()
run()
我分成几个字符串,因为每个列表包含 300 封电子邮件,而 Outlook 每个(是公司)只发送 300 封电子邮件,我需要一次发送一个字符串,但在密件抄送中。运行它会出现以下错误:
AttributeError:无法设置属性“CreateItem.Bcc”。
我怎样才能解决这个问题?
解决方案
推荐阅读
- d3.js - 更新基础数据后 D3 forceCollide 无法正常工作
- c# - 如何检查控制器上下文是否是 ASP.NET Core MVC 中的子操作?
- javascript - 文本颜色在 Material-UI 主题中不起作用
- javascript - 如何为不同位置的 JSON 制作多个 XMLHttpRequest?
- gun - 访问 gundb 链中的先前值
- c++ - constexpr std::可选重置
- javascript - 如何更改 Chart JS 中日期轴上显示的“月份”语言?
- java - 我可以为不同类中的不同 Javafx 选项卡编写代码吗
- javascript - Firebase友谊节点如何仅使用uid显示用户数据
- javascript - Apps 脚本执行 API 返回未经身份验证