真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

小王,給這2000個客戶發(fā)一下節(jié)日祝福的郵件

站在用戶的角度思考問題,與客戶深入溝通,找到博羅網(wǎng)站設(shè)計與博羅網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋博羅地區(qū)。

【閱讀全文】
演示示例使用QQ郵箱發(fā)送郵件,先獲取自己的QQ郵箱的授權(quán)碼。因為后面發(fā)送郵件時需要使用自己的授權(quán)碼作為郵箱的密碼登錄郵箱最后達到發(fā)送郵件的目的。

將UI處理的相關(guān)的界面包導入進來

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

# 應(yīng)用操作相關(guān)的庫
import sys

# 郵件發(fā)送相關(guān)的庫
import smtplib
from email.mime.text import MIMEText

為了不和郵件發(fā)送的UI界面主線程產(chǎn)生沖突,使用QThread子線程的方式制作郵件發(fā)送。

class EmailWork(QThread):
    trigger = pyqtSignal(str)
    finished = pyqtSignal(bool)

    def __init__(self, parent=None):
        super(EmailWork, self).__init__(parent)
        self.parent = parent
        self.working = True

    def __del__(self):
        self.working = False
        self.wait()

    def run(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("郵件信息讀取完成!")

        # 發(fā)件人郵箱
        send_email_name = '@qq.com'
        # 發(fā)件人授權(quán)碼
        passwd = 'fjyjqlzxprzihcii'

        self.trigger.emit(send_email_name)
        self.trigger.emit("發(fā)件人信息初始化完成!")
        # 收件人郵箱
        msg_to = recipient_text.split(';')
        self.trigger.emit(recipient_text)
        self.trigger.emit("收件人信息初始化完成!")
        print(msg_to)
        # 設(shè)置郵件
        msg = MIMEText(current_text)
        msg['subject'] = email_subject_text
        # 設(shè)置發(fā)件人
        msg['From'] = '一匹來自北方的狼'
        # 設(shè)置收件人
        msg['To'] = ';'.join(msg_to)
        # 連接服務(wù)器
        smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
        self.trigger.emit("服務(wù)器連接成功!")
        # 登錄郵箱
        smtp.login(send_email_name, passwd)
        self.trigger.emit("郵箱登錄成功!")
        # 發(fā)送郵件
        smtp.sendmail(send_email_name, msg_to, msg.as_string())
        self.trigger.emit("郵件發(fā)送成功!")
        self.finished.emit(True)

下面是主頁面的UI布局及信號量的代碼塊。

class StmpEmail(QWidget):
    def __init__(self):
        super(StmpEmail, self).__init__()
        self.init_ui()

    def init_ui(self):

        self.setWindowTitle('批量郵件工具  公眾號:[Python 集中營]')
        self.setWindowIcon(QIcon('郵件.ico'))
        self.setFixedSize(500, 400)

        hbox = QHBoxLayout()
        self.send_btn = QPushButton()
        self.send_btn.setText('發(fā)送')
        self.send_btn.clicked.connect(self.send_btn_click)

        self.brower = QTextBrowser()
        self.brower.setFont(QFont('宋體', 8))
        self.brower.setReadOnly(True)
        self.brower.setPlaceholderText('執(zhí)行進度顯示區(qū)域...')
        self.brower.ensureCursorVisible()

        hbox.addWidget(self.send_btn)

        self.email_subject_text = QLineEdit()
        self.email_subject_text.setPlaceholderText('請輸入主題')

        self.recipient_text = QLineEdit()
        self.recipient_text.setPlaceholderText('請輸入收件人,示例:@qq.com;0@163.com')

        self.current_text = QTextEdit()
        self.current_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)

    def update_log(self, text):
        '''
        槽函數(shù):向文本瀏覽器中寫入內(nèi)容
        :param text:
        :return:
        '''
        cursor = self.brower.textCursor()
        cursor.movePosition(QTextCursor.End)
        self.brower.append(text)
        self.brower.setTextCursor(cursor)
        self.brower.ensureCursorVisible()

    def finished(self, finished):
        if finished is True:
            self.send_btn.setEnabled(True)

    def send_btn_click(self):
        self.send_btn.setEnabled(False)
        self.thread_.start()

最后,通過main函數(shù)將頁面布局加入主體循環(huán)即可。

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = StmpEmail()
    main.show()
    sys.exit(app.exec_())

以上就是郵件發(fā)送的主要代碼塊了,copy到自己的開發(fā)工具中運行即可(前提是你已經(jīng)安裝好了需要的python模塊)。
有需要下載完整源代碼請在公眾號內(nèi)回復'批量郵件工具'即可獲取下載鏈接。

【往期精選】

python 一行命令開啟網(wǎng)絡(luò)間的文件共享...

PyQt5 批量刪除 Excel 重復數(shù)據(jù),多個文件、自定義重復項一鍵刪除...

再見XShell,這款國人開源的終端命令行工具更nice!

python 表情包下載器,輕松下載上萬個表情包、斗圖不用愁...

Python 自動清理電腦垃圾文件,一鍵啟動即可...

有了jmespath,處理python中的json數(shù)據(jù)就變成了一種享受...

解鎖一個新技能,如何在Python代碼中使用表情包...

萬能的list列表,python中的堆棧、隊列實現(xiàn)全靠它!

該怎么用pyqt5來實現(xiàn)數(shù)據(jù)的增、刪、改、查功能...

介紹一個文本語音神器,幾行代碼就能搞定!

python批量自動整理文件

初學者福利:分享五個免費的 Python 學習網(wǎng)站,抓緊收藏吧!


本文名稱:小王,給這2000個客戶發(fā)一下節(jié)日祝福的郵件
地址分享:http://weahome.cn/article/dsoghsj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部