最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python登錄QQ郵箱發(fā)送郵件的實(shí)現(xiàn)示例

 更新時間:2023年08月09日 09:35:03   作者:ImproveJin  
本文主要介紹了Python登錄QQ郵箱發(fā)送郵件的實(shí)現(xiàn)示例,主要就是三步,登錄郵件、寫郵件內(nèi)容、發(fā)送,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧<BR>

最近使用QuickBI訂閱功能,發(fā)現(xiàn)對訂閱內(nèi)容有1w行限制,便想到自己寫代碼繞過這個限制。

代碼如下:

# This is a sample Python script.
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import os
import pymysql
import openpyxl
import pandas as pd
import email.utils
sql = '''select id,name from t'''
//將本地文件以附件的方式發(fā)送
def send_mail(message, subject, sender_show, recipient_show, to_addrs, cc_show=''):
    '''
    :param message: str 郵件內(nèi)容
    :param subject: str 郵件主題描述
    :param sender_show: str 發(fā)件人顯示,不起實(shí)際作用如:"xxx"
    :param recipient_show: str 收件人顯示,不起實(shí)際作用 多個收件人用','隔開如:"xxx,xxxx"
    :param to_addrs: str 實(shí)際收件人
    :param cc_show: str 抄送人顯示,不起實(shí)際作用,多個抄送人用','隔開如:"xxx,xxxx"
    '''
    # 填寫真實(shí)的發(fā)郵件服務(wù)器用戶名、密碼
    user = 'user_name@qq.com'
    password = 'jxsnhxlaerizbihi'  //授權(quán)碼
    host = 'smtp.qq.com'
    # 郵件內(nèi)容
    # msg = MIMEText(message, 'plain', _charset="utf-8")
    content = MIMEText(message)
    msg = MIMEMultipart()  # 多個MIME對象
    msg.attach(content)  # 添加內(nèi)容
    # 郵件主題描述
    msg["Subject"] = subject
    # 發(fā)件人顯示,不起實(shí)際作用
    msg["From"] = sender_show
    # 收件人顯示,不起實(shí)際作用
    msg["To"] = recipient_show
    # 抄送人顯示,不起實(shí)際作用
    msg["Cc"] = cc_show
    cur_dir = os.path.dirname(os.path.realpath(__file__))
    file_name = 'filename.xlsx'  # 文件名
    file_path = os.path.join(cur_dir, file_name)  # 文件路徑
    xlsx = MIMEApplication(open(file_path, 'rb').read())  # 打開Excel,讀取Excel文件
    xlsx["Content-Type"] = 'application/octet-stream'  # 設(shè)置內(nèi)容類型
    xlsx.add_header('Content-Disposition', 'attachment', filename=file_name)  # 添加到header信息
    msg.attach(xlsx)
    with SMTP_SSL(host=host, port=465) as smtp:
        # 登錄發(fā)郵件服務(wù)器
        smtp.login(user=user, password=password)
        # 實(shí)際發(fā)送、接收郵件配置
        # smtp.sendmail(from_addr=user, to_addrs=to_addrs.split(','), msg=msg.as_string())
        smtp.sendmail(from_addr=user, to_addrs=to_addrs.split(','), msg=msg.as_string())
//從mysql中查詢數(shù)據(jù)寫入本地xlsx文件
def get_data():
    con_engine = pymysql.connect(host='host_address',
                                 user='app_read', password='pwd', database='db_name', 								port=3306, charset='utf8')  # 通過參數(shù)形式傳遞,參數(shù)是字符串形式
    global sql
    df = pd.read_sql(sql, con_engine)
    file = 'file_name.xlsx'
    if os.path.exists(file):
        os.remove(file)
    df.to_excel(file, 'sheet1', index=False)
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    get_data()
    send_mail('見附件', '標(biāo)題', 'sender', 'recipient','jjt@xxx.com')

代碼中主要有兩個步驟:

  • 從MySql中查詢數(shù)據(jù)通過pandas形成本地Excel文件
  • 將本地Excel文件以附件的方式發(fā)送到目標(biāo)郵箱

就想人為發(fā)郵件先登錄QQ郵箱一樣,借助代碼自動發(fā)送也需要用戶名密碼登錄QQ SMTP服務(wù)器,只是這里的密碼是在QQ郵箱開啟SMTP服務(wù)獲取的授權(quán)碼:

這樣借助Python就能實(shí)現(xiàn)發(fā)送郵件的功能,若需定時發(fā)送借助Crontab即可實(shí)現(xiàn)。

到此這篇關(guān)于Python登錄QQ郵箱發(fā)送郵件的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Python登錄QQ郵箱發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

东海县| 西丰县| 宾川县| 永登县| 老河口市| 鄂伦春自治旗| 德令哈市| 古丈县| 澄城县| 莆田市| 桐梓县| 镇康县| 新巴尔虎右旗| 香河县| 安平县| 河津市| 社会| 前郭尔| 历史| 峨边| 都兰县| 龙陵县| 阳山县| 莒南县| 临海市| 文安县| 丰宁| 班玛县| 泸西县| 金川县| 平潭县| 连山| 沅陵县| 乌海市| 碌曲县| 榆中县| 广汉市| 玉环县| 镇雄县| 鹤岗市| 黎平县|