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()
  • 相关阅读:
    使用C++调用并部署pytorch模型
    相位展开(phase unwrapping)算法研究与实践
    【计算机视觉】图像配准(Image Registration)
    读书笔记 - 《数字图像处理》(更新中...)
    ssh框架复习
    SVN 版本控制
    Spring的jdbcTemplate 与原始jdbc 整合c3p0的DBUtils 及Hibernate 对比 Spring配置文件生成约束的菜单方法
    JDK 动态代理 讨债实例
    Spring 框架配置web.xml 整合web struts
    Spring整合JUnit spring静态对象属性的注入
  • 原文地址:https://www.cnblogs.com/wumac/p/6693659.html
Copyright © 2011-2022 走看看