zoukankan      html  css  js  c++  java
  • Tk写的发邮件小程序

    from tkinter import *
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    win = Tk()
    
    win.geometry('500x330+300+200')
    win.title('海啸投资发邮件')
    
    Label(win,text='邮件主题:',width=10).grid(row=0,column=0,padx=5,pady=10)
    Label(win,text='发送人:',width=10).grid(row=1,column=0,padx=5,pady=10)
    Label(win,text='接收者:',width=10).grid(row=2,column=0,padx=5,pady=10)
    Label(win,text='邮件内容:',width=10).grid(row=3,column=0,padx=5,pady=10)
    
    varAdr = StringVar()
    varAdr.set('')
    entryAdr = Entry(win,width=40,textvariable = varAdr)
    entryAdr.grid(row=0,column = 1,padx=5,pady=5)
    
    varPost = StringVar()
    varPost.set('')
    entryPost = Entry(win,width=40,textvariable = varPost)
    entryPost.grid(row=1,column = 1,padx=5,pady=5)
    
    varGet = StringVar()
    varGet.set('')
    entryGet = Entry(win,width=40,textvariable = varGet)
    entryGet.grid(row=2,column = 1,padx=5,pady=5)
    
    varText = StringVar()
    varText.set('')
    textText = Text(win,width=40,height=10)
    textText.grid(row=3,column = 1,padx=5,pady=5)
    #print(textText.get(1))
    
    def fun():
        # 第三方 SMTP 服务
        mail_host="smtp.qq.com"  #设置服务器
        mail_user="1375151810"    #用户名
        mail_pass="xxxxx"   #口令QQ需要授权码 
    
    
        sender = varPost.get()
        receivers = [varGet.get()]  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
        
        message = MIMEText(textText.get(1.0,END), 'plain', 'utf-8')
        message['From'] = Header("我是发送者", 'utf-8')
        message['To'] =  Header("我是接收者", 'utf-8')
    
        subject = varAdr.get()
        message['Subject'] = Header(subject, 'utf-8')
    
        try:
            smtpObj = smtplib.SMTP_SSL() 
            smtpObj.connect(mail_host, 465)    # 465 为 SMTP 端口号
            
            smtpObj.login(mail_user,mail_pass)
            print(help(smtpObj.sendmail))
            smtpObj.sendmail(sender, receivers, message.as_string())
            
            print ("邮件发送成功")
        except smtplib.SMTPException:
            print ("Error: 无法发送邮件")
    
    Button(win,text='发送',width=20,command=fun).grid(row=4,column=0,padx=10,pady=10)
    Button(win,text='退出',width=20).grid(row=4,column=1,padx=10,pady=10)
    
    
    mainloop()
  • 相关阅读:
    koa2学习(二) 中间件router
    行内元素与块级函数的三个区别
    Mobile Matrices
    jquery中attr()与prop()函数用法实例详解(附用法区别)
    jquery 鼠标右键事件、左键单击事件判定
    JS回调函数(callback)
    js关闭当前页面 (窗口)的几种方式总结
    em(倍)与px的区别
    jQuery学习笔记
    通过JS判断联网类型和连接状态
  • 原文地址:https://www.cnblogs.com/wumac/p/6693659.html
Copyright © 2011-2022 走看看