微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 python 为每个用户自动化邮件

如何解决使用 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 举报,一经查实,本站将立刻删除。