163 郵件清理

2022-08-12 18:00:23 字數 1925 閱讀 2239

由於163有封數限制,所以要進行自動清理

#

!/usr/bin/python

#-*- encoding: utf-8 -*-

import

imaplib

import

time

host = '

imap.qiye.163.com

'username = '賬號'

password = "密碼"

debug=1

#保留的郵件封數和一次刪除郵件的封數

mail_num=1000conn = imaplib.imap4_ssl("

imap.qiye.163.com

",993)

conn.login(username,password)

print(time.strftime("

%y-%m-%d %h:%m:%s

", time.localtime()))

if conn.list("")[0] == 'ok'

:

for i in conn.list("")[1]:

#獲取郵箱列表

mailbox_name=i.replace('

"','').split('

')[2]

print

(mailbox_name)

print

(conn.select(mailbox_name))

#發現有時候一次刪除不乾淨多清除幾次,直到郵件封數等於小於1000封

while int(conn.select(mailbox_name)[1][0]) >mail_num:

mailbox_num_status=conn.select(mailbox_name)

#郵件封數

print

(mailbox_num_status)

#郵件數大於1000執行

if mailbox_num_status[0] == 'ok'

and int(mailbox_num_status[1][0]) >mail_num:

#獲取所有郵件

mailbox_type,mailbox_data=conn.search(none, '

all'

)

#獲取大於1000封的的郵件刪除

mail_id=

#獲取id

msglist =sorted(mailbox_data[0].split())

#迴圈總數

for_num=1

#臨時儲存

tmp=

#計算迴圈次數大於1000則把tmp資料加入到mail_id

num=0

for i in

msglist:

num+=1for_num+=1

if num >=mail_num:

num=0

tmp=

for_num+=1

elif for_num >=int(len(msglist)-mail_num):

#print(for_num)

break

#刪除郵件

for i in

mail_id:

#print(",".join(i))

if i != ''

:

#標記刪除

conn.store("

,".join(i), '

+flags

', '

\\deleted')

#執行刪除重置id

conn.expunge()

conn.logout()

else

:

print("

error login

")

163郵件傳送

importsmtplib fromemail.mime.textimportmimetext stmp伺服器 smtpserver smtp.163.com 發郵箱的位址 sender 你的郵箱號 傳送者郵箱密碼 授權碼 password 你的授權碼 設定傳送文字的內容 message 哈哈哈哈哈...

Yii傳送郵件配置(163)

在配置檔案中 main local.php 新增下列 注意是放到 components 引數裡 mailer class yii swiftmailer mailer usefiletransport false,這句一定有,false傳送郵件,true只是生成郵件在runtime資料夾下,不發郵件...

python發郵件(163郵箱)

import smtplib from email.mime.text import mimetext from email.header import header class sendemail def init self,sender smtpserver smtp.163.com usern...