python之smtplib库学习
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email import encoders
from email.header import Header
from email.utils import parseaddr, formataddr
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
def _format_addr(s):
 name, addr = parseaddr(s)
 return formataddr((Header(name, 'utf-8').encode(), addr))
from_addr = input('發(fā)件人:')
password = input('發(fā)件人郵箱密碼:')
to_addr = input('收件人地址:')
smtp_server = input('SMTP server:')
#發(fā)送純文本
#msg = MIMEText('hello,my name is zhangsiyang','plain','utf-8')
#發(fā)送html格式
#msg = MIMEText('<html><body><h1>Hello</h1>' +
# '<p>send by <a  +
# '</body></html>', 'html', 'utf-8')
#帶附件格式的郵件
msg = MIMEMultipart()
msg['From'] = _format_addr('易云工作郵箱 <%s>' % from_addr)
msg['To'] = _format_addr('管理員 <%s>' % to_addr)
msg['Subject'] = Header('發(fā)郵件啦', 'utf-8').encode()
#msg.attach(MIMEText('發(fā)送個圖片試試...', 'plain', 'utf-8'))
# 添加附件就是加上一個MIMEBase,從本地讀取一個圖片:
with open('D:工作資料項目文檔minicloud問題單云資源分配新增界面最小值可輸入0.png', 'rb') as f:
 # 設(shè)置附件的MIME和文件名,這里是png類型:
 mime = MIMEBase('image', 'png', filename='云資源分配新增界面最小值可輸入0.png')
 # 加上必要的頭信息:
 mime.add_header('Content-Disposition', 'attachment', filename='云資源分配新增界面最小值可輸入0.png')
 mime.add_header('Content-ID', '<0>')
 mime.add_header('X-Attachment-Id', '0')
 # 把附件的內(nèi)容讀進來:
 mime.set_payload(f.read())
 # 用Base64編碼:
 encoders.encode_base64(mime)
 # 添加到MIMEMultipart:
 msg.attach(mime)
msg.attach(MIMEText('<html><body><h1>Hello</h1>' +
 '<p><img src="cid:0"></p>' +
 '</body></html>', 'html', 'utf-8'))
server = smtplib.SMTP(smtp_server,25)
server.set_debuglevel(1)
server.login(from_addr,password)
server.sendmail(from_addr,to_addr,msg.as_string())
server.quit()
總結(jié)
以上是生活随笔為你收集整理的python之smtplib库学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: padStart()方法,padEnd(
- 下一篇: apache配置
