import smtplib
import email.mime.multipart
import email.mime.text
import socket
from email.mime.application import MIMEApplication
msgFrom = '' # 发件箱,从该邮箱发
msgTo = '' # 收件箱,发送到该邮箱
smtpSever = 'smtp.qq.com' # 发件箱的smtp sever地址
smtpPort = '25' # smtp Sever开放的端口
sqm = 'gbhyvursgsnqdafh' # 在登录smtp server时需要的授权码,不是账户密码
def get_ip_address():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("1.1.1.1", 80))
ipaddr = s.getsockname()[0]
s.close()
return ipaddr
ip = str(get_ip_address())
msg = email.mime.multipart.MIMEMultipart()
msg['from'] = msgFrom
msg['to'] = msgTo
msg['subject'] = 'SMTP协议应用的例子,自动发送邮件'
# 添加附件
with open('1.docx', 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype='docx')
attachment.add_header('Content-Disposition', 'attachment', filename='1.docx')
msg.attach(attachment)
content = '''
你好:是自动发送邮件
这是一封通过Python代码自动发送的邮件
当前设备的IP地址:
''' + ip
txt = email.mime.text.MIMEText(content)
msg.attach(txt)
# 创建对象
smtp = smtplib.SMTP()
# 连接到邮件服务器
smtp.connect(smtpSever, smtpPort)
# 登陆验证
smtp.login(msgFrom, sqm)
# 发送邮件
smtp.sendmail(msgFrom, msgTo, str(msg))
smtp.quit()
python发送邮件
于 2024-05-26 16:16:21 首次发布