Python利用qq授权码实现发送附件

import tkinter
from tkinter import filedialog
from tkinter.filedialog import *

from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
from email.mime.multipart import MIMEMultipart

def action():
    date = int(entry.get())
    date1 = entry1.get().strip()
    date2 = entry2.get().strip()
    date3 = entry3.get().strip()
    date4 = str(entry4.get().strip())
    date5 = entry5.get().strip()
    host_server = 'smtp.qq.com'  # 使用qq邮箱smtp服务器
    smtp = SMTP_SSL(host_server)  #ssl登录邮箱客户端
    smtp.set_debuglevel(1)#set_debuglevel()是用来调试的。参数值为1表示开启调试模式,参数值为0关闭调试模式
    smtp.ehlo(host_server)
    smtp.login(date, date1)
    ##定义邮箱内容
    msg = MIMEMultipart()   ##生成一个邮箱对象
    msg["Subject"] = Header(date5, 'utf-8')   ##添加邮箱主题
    msg["From"] = date2   ##添加邮箱发送方
    msg["To"] = date3   ##添加邮箱接收方
    # 添加附件,这里以zip文件为例
    file_path=date4
    att = MIMEText(open(file_path,"rb").read(), "base64", "utf-8")
    att["Content-Type"] = "application/octet-stream"
    att["Content-Disposition"] = 'attachment;filename = {}'.format(file_path)
    msg.attach(att)
    smtp.sendmail(date2, date3, msg.as_string())
    smtp.quit()

def Huofile():
    file_path = filedialog.askopenfilename()
    filename.set(file_path) #设置filename值,输出的值为io流
#实例化tk类
root = tkinter.Tk()

filename = tkinter.StringVar()

#定义宽高,注意x不是*,+下右 ;250x100是大小;+600+400是距离横纵坐标的位置
root.geometry('400x200+600+300')
# 重新调整弹窗
# root.resizable(False,False)#弹窗大小固定设置
#设置名称
root.title('Sendmail')
#设置标签,grid网格布局函数
Label(root,text="请输入自己的qq  :",font=('宋体',9)).grid(row=0,column=0)
Label(root,text="请输入qq邮箱授权码  :",font=('宋体',9)).grid(row=1,column=0)
Label(root,text="请输入自己的qq邮箱  :",font=('宋体',9)).grid(row=2,column=0)
Label(root,text="请输入收件箱 :",font=('宋体',9)).grid(row=3,column=0)
Label(root,text="请输入邮件主题 :",font=('宋体',9)).grid(row=5,column=0)
Label(root,text="请选择传送的文件 :",font=('宋体',9)).grid(row=4,column=0)

entry=Entry(root)
entry.grid(row=0,column=1)#请输入自己的qq

entry1=Entry(root)
entry1.grid(row=1,column=1)#请输入qq邮箱授权码

entry2=Entry(root)
entry2.grid(row=2,column=1)#请输入自己的qq邮箱

entry3=Entry(root)
entry3.grid(row=3,column=1)#请输入收件箱

entry5=Entry(root)
entry5.grid(row=5,column=1)#请输入邮件主题

entry4=Entry(root,textvariable=filename)
entry4.grid(row=4,column=1)#获取文件路径框


#按钮2
Button(root,text='发送',width='10',command=action).grid(row=5,column=2)
#按钮3
Button(root,text='选择文件',width='10',command=Huofile).grid(row=4,column=2)
#循环弹窗

root.mainloop()

制作exe:pyinstaller -F 文件名.py

侵权请联系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值