163 smtp
通过smtp发送邮件一直提示在登录的时候身份认证失败,百度了一下才知道163邮箱需要在设置里面开通smtp服务,并且设置授权码,通过第三方登录163邮箱的时候,登录的密码就是这个授权码,问题搞清楚了,接下来就是正常邮件的发送了。
163的smtp的服务器地址:smtp.163.com
import smtplib
from email.mime.text import MIMEText
msg_from = '*****@163.com'
passward = '*****' #授权码
msg_to = '******@qq.com'
subject = '这是测试邮件'
content = '这是用Python和smtp模块发送的邮件'
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = msg_from
msg['To'] = msg_to
try:
s = smtplib.SMTP('smtp.163.com',25)
s.login(msg_from,passward)
s.sendmail(msg_from,msg_to,msg.as_string())
print('发送成功')
except smtplib.SMTPException as e:
print('发送失败' + format(e))
finally:
s.quit()
在内容里发送html文件,只需将:
content = '<html><body><h1>Hello</h1>' \
'<p>send by <a href="http://www.python.org">Python</a>...</p>' \
'</body></html>'
msg = MIMEText(content,'html','utf-8')
这样发送的文件就是html文件了,效果如下:
发送带附件的邮件,相当于包含若干部分的邮件,包含文本和附件。
定义邮件对象:
msg = MIMEMultipart()
通过msg.attach将其他部分添加上去发送即可。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
msg_from = '******@163.com'
passward = '***'
msg_to = '*****@qq.com'
subject = '这是测试邮件'
content = '<html><body><h1>Hello</h1>' \
'<p>send by <a href="http://www.python.org">Python</a>...</p>' \
'</body></html>'
#msg = MIMEText(content,'html','utf-8')
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = msg_from
msg['To'] = msg_to
#添加html内容
msg.attach(MIMEText(content,'html','utf-8'))
#添加附件
with open(r'C:\1.jpg','rb') as f:
mime = MIMEBase('image','jpg',filename='1.jpg')
mime.add_header('content-Disposition','attachment',filename='1.jpg')
mime.add_header('Content-ID', '<0>')
mime.add_header('X-Attachment-Id', '0')
mime.set_payload(f.read())
encoders.encode_base64(mime)
msg.attach(mime)
try:
s = smtplib.SMTP('smtp.163.com',25)
s.login(msg_from,passward)
s.sendmail(msg_from,msg_to,msg.as_string())
print('发送成功')
except smtplib.SMTPException as e:
print('发送失败' + format(e))
finally:
s.quit()
如果要发送2个附件图片呢?
只需将下面这个序号更改一下,添加就可以了。
mime.add_header('Content-ID', '<1>')
mime.add_header('X-Attachment-Id', '1')
假如需要增加一个附件是文本文件,只需将附件类型更改一下,再将序号更改一下就行了:
mime = MIMEBase('text','txt',filename='4.txt') #更改内容
mime.add_header('Content-Disposition','attachment',filename='4.txt')
mime.add_header('Content-ID', '<2>')
mime.add_header('X-Attachment-Id', '2')
相关阅读
一、使用淘宝IP地址库查询 使用淘宝的Rest API,可以快速查询IP地址的归属地: 图00-淘宝IP地址库RestAPI使用说明 图01-使用
早报导语颇受90后、00后热捧的弹幕网站上海幻电日前陷入多起网络传播权纠纷,根据检索公告,9起案件的原告/上诉人分别是北京爱奇艺、
人民网新闻投稿邮箱地址是多少?seo实验室传媒专注软文营销多年为您解惑,人民网的投稿邮箱地址是[email protected]。如果是重大
26-在保存hosts文件时,报错unable to save C:\windows
1.右键hosts文件,选择属性,如下图所示 2.点击【安全】 -【编辑】 3.选中当前用户,将允许位置全部勾上,【应用】-【是】-【确定
转载自 https://blog.csdn.net/MrSong007/article/details/88845969在桌面新建一个“文本文档”,打开以后将以下内容复制进去:@echo