当前位置: 首页 > 后端技术 > Python

小王,给这2000个客户发一封节日邮件

时间:2023-03-26 16:33:55 Python

【阅读全文】Demo示例使用QQ邮箱发送邮件,首先获取自己QQ邮箱的授权码。因为后面发送邮件的时候,需要用自己的授权码作为邮箱的密码,才能登录邮箱,最终达到发送邮件的目的。导入UI处理相关的界面包fromPyQt5.QtWidgetsimport*fromPyQt5.QtCoreimport*fromPyQt5.QtGuiimport*#Applicationoperationrelatedlibraryimportsys#Mailsendingrelatedlibraryimportsmtplibfromemail.mime.textimport为了不与邮件发送UI界面主线程冲突,MIMEText使用QThread子线程发送邮件。类EmailWork(QThread):trigger=pyqtSignal(str)finished=pyqtSignal(bool)def__init__(self,parent=None):super(EmailWork,self).__init__(parent)self.parent=parentself.working=Truedef__del__(self):self.working=Falseself.wait()defrun(self):email_subject_text=self.parent.email_subject_text.text().strip()recipient_text=self.parent.recipient_text.text().strip()current_text=self.parent.current_text.toPlainText().strip()print(email_subject_text)print(recipient_text)print(current_text)self.trigger.emit("Email信息读取完成!")#senderemailsend_email_name='1342929047@qq.com'#发件人授权码passwd='fjyjqlzxprzihcii'self.trigger.emit(send_email_name)self.trigger.emit("发件人信息初始化完成!")#收件人邮箱msg_to=recipient_text.split(';')self.trigger.emit(recipient_text)self.trigger.emit("收件人信息初始化完成!")print(msg_to)#setemailmsg=MIMEText(current_text)msg??['subject']=email_subject_text#setsendermsg['From']='狼来了north'#设置收件人msg['To']=';'.join(msg_to)#连接服务器smtp=smtplib.SMTP_SSL('smtp.qq.com',465)self.trigger.emit("服务器连接成功!")#登录邮箱smtp.login(send_email_name,passwd)self.trigger.emit("邮箱登录成功!")#发送邮件smtp.sendmail(send_email_name,msg_to,msg.as_string())self.trigger.emit("邮件发送成功!")self.finished.emit(True)下面是主页面的UI布局和信号量的代码块ent_text.setPlaceholderText('请输入电子邮件文本')self.thread_=EmailWork(self)self.thread_.trigger.connect(self.update_log)self.thread_.finished.connect(self.finished)vbox=QVBoxLayout()vbox.addWidget(self.email_subject_text)vbox.addWidget(self.recipient_text)vbox.addWidget(self.current_text)vbox.addWidget(self.brower)vbox.addLayout(hbox)self.setLayout(vbox)defupdate_log(self,文本):'''槽函数:向文本浏览器写入内容:paramtext::return:'''cursor=self.brower.textCursor()cursor.movePosition(QTextCursor.End)self.brower.append(text)self.brower....start()最后通过main函数将页面布局添加到main中bodyloopif__name__=='__main__':app=QApplication(sys.argv)main=StmpEmail()main.show()sys.exit(app.exec_())以上是发送邮件的主要代码块,复制在自己的开发工具中运行即可(前提是你已经安装了所需的python模块)。如需下载完整源码,请在公众号内回复“群发邮件工具”获取下载链接。【往期精选】一行python命令实现网络间文件共享...PyQt5批量删除Excel重复数据,一键删除多个文件,自定义重复...再见XShell,这个中文开源终端命令行people工具更好!Python表情下载器,轻松下载数万表情,拼图无忧...Python自动清理电脑垃圾文件,一键启动...有了jmespath,在python中处理json数据成为一种享受...解锁一门新技能,如何在Python代码中使用表情符号...万能的list列表,python中的栈和队列都靠它了!如何使用pyqt5实现数据增删改查功能...介绍一款文字转语音神器,几行代码搞定!初学者用python自动批量整理文件的福利:分享五个免费的Python学习网站,赶紧收藏吧!