Python使用yagmail超簡單發送郵件、keyring讀取密鑰、schedule定時任務、imbox操作


yagmail 實現發郵件,以網頁郵箱為例

 

 

 

 

 

 

yagmail 可以超簡單的來實現自動發郵件功能。

 

 

安裝

pip install yagmail   
pip install keyring
pip install schedule
pip install imbox

或者
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 包名稱 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 包名稱

 

發送郵件例子

import yagmail

#鏈接郵箱服務器
yag = yagmail.SMTP( user="user@126.com", password="1234", host='smtp.126.com')

# 郵箱正文
contents = ['第一段內容',
            '第二段內容'
            ]

# 發送郵件
yag.send('test@126.com', '郵件主題',  contents)
#關閉
yag.close()

 

給多個用戶群發送郵件

# 群發郵件、只需要將接收郵箱 變成一個list即可
yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], '群發郵件',  contents)

 

讀取密鑰形式發送,代碼中不明文密碼(安全,推薦)

打開Python shell將賬號密碼注冊到系統(只需要操作一次)

 

定時任務scedule

python中有一個輕量級的定時任務調度的庫:schedule。他可以完成每分鍾,每小時,每天,周幾,特定日期的定時任務。因此十分方便我們執行一些輕量級的定時任務。

代碼如下:

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("09:30").do(job)
schedule.every(5).to(10).days.do(job)
schedule.every().monday.do(job)
schedule.every().wednesday.at("13:15").do(job)
 
while True:
    schedule.run_pending()
    time.sleep(1)

 

上面的意思就是:

每隔十分鍾執行一次任務

每隔一小時執行一次任務

每天的10:30執行一次任務

每隔5到10天執行一次任務

每周一的這個時候執行一次任務

每周三13:15執行一次任務

run_pending:運行所有可以運行的任務

當然,如果函數中帶有參數怎么辦呢?

很簡單,如下所示:

import schedule
import time

def job(name):
    print("her name is : ", name)
 
name = 'MyJob'
schedule.every(10).minutes.do(job, name)
schedule.every().hour.do(job, name)
schedule.every().day.at("10:30").do(job, name)
schedule.every(5).to(10).days.do(job, name)
schedule.every().monday.do(job, name)
schedule.every().wednesday.at("13:15").do(job, name)
 
while True:
    schedule.run_pending()
    time.sleep(1)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM