如何解决使用 python 为每个用户自动化邮件
如何为每封电子邮件生成自定义的 excel?我只想在每封电子邮件中发送一个带有相应信息的 excel 文件。它适用于一封邮件,但我正在尝试为列表中的每封邮件执行此操作(代码的第二部分)
import smtplib
from email.message import EmailMessage
SENDER_EMAIL = "****@gmail.com"
APP_PASSWORD = "***"
def send_mail_with_excel(recipient_email,subject,content,excel_file):
df=pd.read_excel('prueba_mail.xlsx')
df=df.set_index('DNI')
df=df.loc[dni]
df.to_excel(f'{dni}.xlsx')
msg = EmailMessage()
msg['Subject'] = subject
msg['From'] = SENDER_EMAIL
msg['To'] = recipient_email
msg.set_content(content)
with open(excel_file,'rb') as f: #leemos fichero
file_data = f.read()
msg.add_attachment(file_data,maintype="application",subtype="xlsx",filename=excel_file)
with smtplib.SMTP_SSL('smtp.gmail.com',465) as smtp:
smtp.login(SENDER_EMAIL,APP_PASSWORD)
smtp.send_message(msg)
#------------------------------
#generating customized excels per mail
df=pd.read_excel('prueba_mail.xlsx')
df=df.set_index('EMAIL ID')
mail_list=df.index.to_list()
for email in mail_list:
df2=pd.read_excel('prueba_mail.xlsx')
df2=df2.set_index('EMAIL ID')
df2=df2.loc[email].to_excel(f'{email}.xlsx')
with open(f'{email}.xlsx','rb') as f:
**send_mail_with_excel(email,'Email','Contenido',f)**
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。