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

 

posted @ 2024-04-25 15:49  shiningrise  阅读(10)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css