利用Python发送邮件或发带附件的邮件
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
本文使用的是163邮件进行测试。
注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。
1、使用Python发Text 邮件
import smtplib # 发送字符串的邮件 from email.mime.text import MIMEText # 设置服务器所需信息 fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址 password = 'email password' # 密码(部分邮箱为授权码) toEmailAddrs = ['接收方地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 # 设置email信息 # ---------------------------发送字符串的邮件----------------------------- # 邮件内容设置 message = MIMEText('hello,test Python send Email.', 'plain', 'utf-8') # 邮件主题 message['Subject'] = 'python test email' # 发送方信息 message['From'] = fromEmailAddr # 接受方信息 message['To'] = toEmailAddrs[0] # --------------------------------------------------------------------- # 登录并发送邮件 try: server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25 server.login(fromEmailAddr, password) server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string()) print('success') server.quit() except smtplib.SMTPException as e: print("error:", e)
2、使用Python发送带附件的邮件
import smtplib # 发送字符串的邮件 from email.mime.text import MIMEText # 需要 MIMEMultipart 类 from email.mime.multipart import MIMEMultipart # 设置服务器所需信息 fromEmailAddr = '发件人邮箱地址' # 邮件发送方邮箱地址 password = 'email password' # 密码(部分邮箱为授权码) toEmailAddrs = ['收件人地址'] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发 # 设置email信息 # ---------------------------发送带附件邮件----------------------------- # 邮件内容设置 message = MIMEMultipart() # 邮件主题 message['Subject'] = 'python test email' # 发送方信息 message['From'] = fromEmailAddr # 接受方信息 message['To'] = toEmailAddrs[0] # 邮件正文内容 message.attach(MIMEText('hello,test Python send Email', 'plain', 'utf-8')) # 构造附件 att1 = MIMEText(open('text.txt', 'rb').read(), 'base64', 'utf-8') att1['Content-type'] = 'application/octet-stream' att1['Content-Disposition'] = 'attachment; filename="test.zip"' message.attach(att1) # --------------------------------------------------------------------- # 登录并发送邮件 try: server = smtplib.SMTP('smtp.163.com') # 163邮箱服务器地址,端口默认为25 server.login(fromEmailAddr, password) server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string()) print('success') server.quit() except smtplib.SMTPException as e: print("error:", e)
以上就是利用Python发送邮件或发带附件的邮件的详细内容,更多关于python 发送邮件的资料请关注其它相关文章!
下一篇:Python如何使用ConfigParser读取配置文件