How to send email attachments with Python
Sending email attachments using Python might seem daunting, especially for beginners. Let's break it down step by step.
The smtplib library is commonly used for sending emails in Python. Here's a simplified example that also includes attachment functionality:
import smtplib from os.path import basename from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.utils import COMMASPACE, formatdate def send_mail(send_from, send_to, subject, text, files=None, server="127.0.0.1"): assert isinstance(send_to, list) msg = MIMEMultipart() msg['From'] = send_from msg['To'] = COMMASPACE.join(send_to) msg['Date'] = formatdate(localtime=True) msg['Subject'] = subject msg.attach(MIMEText(text)) for f in files or []: with open(f, "rb") as fil: part = MIMEApplication( fil.read(), Name=basename(f) ) # After the file is closed part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f) msg.attach(part) smtp = smtplib.SMTP(server) smtp.sendmail(send_from, send_to, msg.as_string()) smtp.close()
Let's decode the code:
Using this script, you can easily attach files to emails and send them using Python. Remember to replace the placeholder values (e.g., sender, recipients, subject, etc.) with your own information.
The above is the detailed content of How to Send Email Attachments Using Python?. For more information, please follow other related articles on the PHP Chinese website!