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))