Python脚本之电子邮件自动化
发送个性化电子邮件
# 发送个性化电子邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_personalized_email(sender_email,sender_password,recipients,subject,body):
"""
:param sender_email:
:param sender_password:
:param recipients:
:param subject:
:param body:
:return:
"""
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, sender_password)
for recipient_email in recipients:
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
message.attach(MIMEText(body, 'plain'))
server.sendmail(sender_email, recipient_email, message.as_string())
server.quit()
说明:此脚本使您能够向收件人列表发送个性化电子邮件,适用于邮件群发任务。
通过电子邮件发送文件附件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
from email.mime.text import MIMEText
from wsgiref.simple_server import server_version
def send_email_with_attachment(sender_email, sender_password,recipient_email, subject, body, file_path):
server=smtplib.SMTP('smtp.gmail.com',587)
server.starttls()
server.login(sender_email,sender_password)
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = recipient_email
message['Subject'] = subject
message.attach(MIMEText(body,'plain'))
with open(file_path,'rb') as attachment:
part = MIMEBase('application', 'octet-stream')
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',f'attachment',filename={file_path})
message.attach(part)
server.sendmail(sender_email,recipient_email,message.as_string())
server.quit()
说明:此脚本允许您发送带有文件附件的电子邮件,适用于发送包含附件的邮件。
自动邮件提醒
import smtplib
from email.mime.text import MIMEText
from datetime import datetime,timedelta
def send_reminder_mail(sender_email,sender_password,recipient_email,subject,body,reminder_date):
"""
自动邮件提醒
:param sender_email:
:param sender_password:
:param recipient_email:
:param subject:
:param body:
:param reminder_date:
:return:
"""
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, sender_password)
now = datetime.now()
reminder_date = datetime.strptime(reminder_date, "%Y-%m-%d")
if now.date()==reminder_date.date():
message = MIMEText(body, 'plain', 'utf-8')
message['Subject'] = subject
message['From'] = sender_email
message['To'] = recipient_email
server.sendmail(sender_email, recipient_email, message.as_string())
server.quit()
说明:此脚本根据指定日期发送自动电子邮件提醒,确保您不会错过重要的任务或事件。