Discuss / Python / 先简单写个例子

先简单写个例子

Topic source

Robottiii

#1 Created at ... [Delete] [Delete and Lock User]
'''
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
发送邮件用到两个模块 smtplib负责发送邮件 email模块负责构造邮件
'''

from email.mime.text import MIMEText
import smtplib

# 实例化MIMEText 第一个参数邮件正文,第二个参数是MIME的subtype,传入'plain'表示纯文本,最终的MIME就是'text/plain',最后一定用utf-8编码保证多语言兼容性。
msg = MIMEText('hello,send by python...', 'plain', 'utf-8')
from_addr = input('From:')  # 发件人地址(邮箱)
password = input('password:')  # 发件人地址(邮箱)密码 这里指授权码
to_addr = input('To:')  # 收件人地址(邮箱)
smtp_server = input('SMTP server:')  # SMTP服务器地址 不同的供应商有不同的服务器比如QQ的smtp.qq.com 163的smtp.163.com

# 这里规范邮件格式 如果不规范邮件格式可能会被退回 就比如163
msg['From'] = "{}".format(from_addr)  # 发件人地址(邮箱)
msg['To'] = ",".join(to_addr)  # 收件人地址(邮箱)
msg['Subject'] = 'Python SMTP Mail Test'  # 邮件主题

server = smtplib.SMTP(smtp_server, 25)  # SMTP协议默认端口一般是25 SSL端口一般为465
server.set_debuglevel(1)  # 与SMTP服务器交互的所有信息
server.login(from_addr, password)  # 验证登录
server.sendmail(from_addr, [to_addr], msg.as_string())  # sendmail方法发送邮件,参数一发件人地址,
# 参数二可以为一个list由于可以一次发给多个人 参数三邮件正文是一个str,as_string()把MIMEText对象变成str
server.quit()

  • 1

Reply