Python发送邮件

Python发送邮件

SMTP(Simple Mail Transfer Protocol)简单邮件传输协议
MTA:邮件传送代理
SMTP协议只能发送邮件不能用来接收邮件
SMTP协议默认TCP端口号:25

工作形式: 1.客户-->服务器
2.服务器-->服务器
  POP3(Post Office Protocol):传输工作协议
  IMAP(Internet Message Access Protocol):交互式邮件存取协议

POP3协议为用户提供一种简单、标准的方式来访问邮箱和获取电邮
工作过程:连接服务器、获取所有信息并保存在用户主机、从服务器删除这些消息然后断开连接。
POP3协议的默认TCP端口号是110。

IMAP协议提供方便的邮件下载服务,可以让用户离线阅读。
IMAP协议默认TCP端口号是143。

邮件格式:
收件人
收件人
主题
邮件正文
Email email.mime.text.MIMEText

配置文件:

#coding = utf-8
import smtplib      #导入简单邮件传输协议库
from email.mime.text import MIMEText    

msg = MIMEText('Python发送的邮件','plain','utf-8')   
msg['Subject']='Letter of Python'
msg['From']='****@qq.com'
msg['To']='****@qq.com'

server=smtplib.SMTP_SSL('smtp.qq.com',465)
server.set_debuglevel(1)
server.login('****@qq.com','****')    //需要先登录一个邮箱,填入账号和密码
Tolist=['****@qq.com','****@qq.com']    //目标邮箱地址
server.sendmail('1378478241@qq.com',Tolist,msg.as_string())
server.quit()

 运行主程序

/++++++++------------========************************========------------++++++++/
import smtplib
import os
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email import encoders
user = '1378478241@qq.com'
pwd = 'qfgezkkwzuiegcfh'
Tolist=['*****@qq.com','*****@163.com']    //目标邮箱地址
msg = MIMEMultipart()
msg['Subject'] = 'Title'
content1 = MIMEText('Hello,I am Python!', 'plain', 'utf-8')
msg.attach(content1)    //添加附件
attfile = 'G://TestDemo//venv//网络爬虫学习//test.txt'    //附件文件夹
attPic = 'G://TestDemo//venv\网络爬虫学习//at2.jpg'       //附加的图片
basename = os.path.basename(attfile)
picname = os.path.basename(attPic)
fp = open(attfile, 'rb')            //添加附件
fp1 = open(attPic,'rb')

att = MIMEText(fp.read(), 'base64', 'utf-8')
att["Content-Type"] = 'application/octet-stream'
att.add_header('Content-Disposition', 'attachment',filename=('gbk', '', basename))
encoders.encode_base64(att)
msg.attach(att)
att1 = MIMEText(fp1.read(),'base64','utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1.add_header('Content-Disposition', 'attachment',filename=('gbk', '', picname))
encoders.encode_base64(att1)
msg.attach(att1)
#-----------------------------------------------------------
s = smtplib.SMTP('smtp.qq.com')
s.login(user, pwd)
s.sendmail(user, Tolist, msg.as_string())
print('发送成功')
s.close()












 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值