zoukankan      html  css  js  c++  java
  • python2.7发送邮件和python3.7接收邮件

    1、使用python发送邮件(经测试可以用)

    https://www.jb51.net/article/130411.htm

    环境:python2.7

    #coding:utf-8
    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    import smtplib
    from smtplib import SMTP
    from email.mime.text import MIMEText
    from email.header import Header
     
    #构造纯文本邮件内容
    msg = MIMEText('hello,send by Python.....','plain','utf-8')
     
    #发送者邮箱
    sender = 'xxxxx@XXXXX.com.cn'
     
    #发送者的登陆用户名和密码
    user = 'xxxxx@XXXX.com.cn'
    password = 'xxxxxx'
     
    #发送者邮箱的SMTP服务器地址
    smtpserver = 'xxxx'
     
    #接收者的邮箱地址
    receiver = ['xxxxxx@qq.com','xxxxxx@outlook.com'] #receiver 可以是一个list
     
    smtp = smtplib.SMTP() #实例化SMTP对象
    smtp.connect(smtpserver,25) #(缺省)默认端口是25 也可以根据服务器进行设定
    smtp.login(user,password) #登陆smtp服务器
    smtp.sendmail(sender,receiver,msg.as_string()) #发送邮件 ,这里有三个参数
    '''
    login()方法用来登录SMTP服务器,sendmail()方法就是发邮件,由于可以一次发给多个人,所以传入一个list,邮件正文
    是一个str,as_string()把MIMEText对象变成str。
    '''
    smtp.quit()

    2、Python3接收邮件

    python3获取163邮件  
    (https://www.jianshu.com/p/097e01edfef6)

    环境:python3.7

    参考地址:(https://www.jb51.net/article/169797.htm)

    # coding:utf-8
    import poplib
    import re
    import tkinter
    class Window:
    def __init__(self,root):
    label1 = tkinter.Label(root,text='POP3')
    label2 = tkinter.Label(root,text='Port')
    label3 = tkinter.Label(root,text='用户名:')
    label4 = tkinter.Label(root,text='密 码:')
    label1.place(x=5,y=5)
    label2.place(x=5,y=30)
    label3.place(x=5,y=55)
    label4.place(x=5,y=80)
    self.entryPop = tkinter.Entry(root)
    self.entryPort = tkinter.Entry(root)
    self.entryUser = tkinter.Entry(root)
    self.entryPass = tkinter.Entry(root,show = '*')
    self.entryPort.insert(tkinter.END,'110')
    self.entryPop.place(x=50,y=5)
    self.entryPort.place(x=50,y=30)
    self.entryUser.place(x=50,y=55)
    self.entryPass.place(x=50,y=80)
    self.get = tkinter.Button(root,text='收取邮件',command = self.Get)
    self.get.place(x=60,y=120)
    self.text=tkinter.Text(root)
    self.text.place(y=150)
    def Get(self):
    try:
    host = self.entryPop.get()
    port =int(self.entryPort.get())
    user = self.entryUser.get()
    pw = self.entryPass.get()
    pop=poplib.POP3(host)
    pop.user(user)
    pop.pass_(pw)
    stat=pop.stat()
    self.text.insert(tkinter.END,'Staus:%d message(s),%d bytes ' % stat)
    rx_headers = re.compile(r"^(From|To|Subject)")
    for n in range(stat[0]):
    response,lines,bytes = pop.top(n+1,10)
    self.text.insert(tkinter.END,"Message %d (%d bytes) " % (n+1,bytes))
    self.text.insert(tkinter.END,"-"*30+' ')
    str_lines=[]
    for l in lines:
    str_lines.append(l.decode(encoding = 'utf-8'))
    self.text.insert(tkinter.END," ".join(filter(rx_headers.match,str_lines)))
    self.text.insert(tkinter.END,' ')
    self.text.insert(tkinter.END,"-"*30+' ')
    except Exception as e:
    self.text.insert(tkinter.END,'接收错误 ')
    root =tkinter.Tk()
    window=Window(root)
    root.mainloop()
  • 相关阅读:
    oc 基本基础类型之NSString
    oc 内存管理
    自定义的init方法和重写的init方法
    property属性
    iOS 开发朗读文字
    获取当前最顶层的ViewController
    二维码扫描的简单封装
    OC百度导航类的封装
    OC上传图片的封装(配合AFNetWorkiing)
    集成百度地图报错41个解决方法(转)
  • 原文地址:https://www.cnblogs.com/yaok430/p/13112113.html
Copyright © 2011-2022 走看看