py发送带附件email
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders # SMTP服务器设置 smtp_server = 'smtp.qq.com' smtp_port = 587 secure_connection = 'STARTTLS' # 发件人和收件人信息 sender_email = 'shiningrise@qq.com' receiver_email = 'shiningrise@qq.com' # 邮件内容 msg = MIMEMultipart() msg['Subject'] = 'Email with Attachment' msg['From'] = sender_email msg['To'] = receiver_email # 添加邮件正文 body = 'This is the email body.' msg.attach(MIMEText(body, 'plain')) # 添加附件 filename = 'smtp.py' attachment = open(filename, 'rb') part = MIMEBase('application', 'octet-stream') part.set_payload(attachment.read()) encoders.encode_base64(part) part.add_header('Content-Disposition', f'attachment; filename= {filename}') msg.attach(part) # SMTP账户信息 username = 'shiningrise@qq.com' password = '密码' # 连接到SMTP服务器并发送邮件 try: with smtplib.SMTP(smtp_server, smtp_port) as server: #if secure_connection == 'STARTTLS': # server.starttls() server.login(username, password) server.sendmail(sender_email, receiver_email, msg.as_string()) print('Email sent successfully!') except smtplib.SMTPException as e: print('Error sending email:', str(e))