python163郵箱
⑴ 如何用程序獲得電子郵箱[email protected]中的用戶名和域名python
指導郵箱地址緩冊就可以指導用戶名和域名了,不用使用任何程序。
你的郵箱地址就是這個郵箱用陸侍戶名。
域名是@後面早哪吵的內容,這個郵箱就是163.com。
⑵ python中的正則表達式中的 "|"
Python中re.findall()函數是要求正則表達式在捕獲第0組數據時,要在正則表達式上加小括弧才能捕獲.
也就是說如果你要獲取整個正則表達式匹配的數據(你這里是電子郵箱地址),需要在正則表達式外面加小括弧,
然後取第0捕獲組的數據(你這里是[x[0] for x in zhengze]),
因為findall函數把每一個匹配的多個捕獲組(就是你正則表達式中的小括弧中)的數據放到一個元組里,所以要用for循環把第0捕獲組的數據取出來.
具體程序改進如下
>>>zhengze=re.findall("([A-Za-z0-9]+@(163|qq|gmail).com)",txt)
>>>[x[0]forxinzhengze]
結果就是你要的郵箱列表了.
⑶ python3判斷電腦關機api
執行py程序後,程序將每隔10分鍾(時間可以自己設置)讀取一次郵箱最新郵件,解析獲得郵件主題,當主題為「關機」時,程序將關閉電腦,為「重啟」時,將重啟電腦。在長時間離開電腦時,可以將py程序跑起來,如果需要關機或重啟,可以向郵箱發一封郵件即可
代碼
# -*- coding:utf-8 -*-
import os
import time
import poplib
import email
from email.header import decode_header
#========================================
# 讀取Email,獲取Email主題
#========================================
def getEmailSubject():
read = poplib.POP3('pop.163.com')
read.user('[email protected]')# 163郵箱用戶名
read.pass_('xxx') # 163郵箱設置中的客戶端授權密碼
allEmails = read.stat() # 讀取郵件信息
topEmail = read.top(allEmails[0], 0) # 獲取最新的一封郵件
tmp = []
# 解碼郵件,存入tmp
for s in topEmail[1]:
try:
tmp.append(s.decode())
except:
try:
tmp.append(s.decode('gbk'))
except:
tmp.append(s.decode('big5'))
message = email.message_from_string('\n'.join(tmp))
# 獲取郵件主題
subject = decode_header(message['Subject'])
if subject[0][1]:
subjectDecode = subject[0][0].decode(subject[0][1])
else:
subjectDecode = subject[0][0]
return subjectDecode
#=========================================
# 檢查Email的主題
#=========================================
def checkEmailSubject():
while True:
subject = getEmailSubject()
print('check subject ...')
print('subject is ' + subject)
if subject == '重啟':
os.system('shutdown -r -t 3')
break
if subject == '關機':
os.system('shutdown -s -t 3')
break
time.sleep(600) # 每10分鍾檢查一次
if __name__ == '__main__':
checkEmailSubject()
⑷ python 使用zmail收發電子郵件
1、發送郵件:
import zmail
server = zmail.server(' [email protected] 』, 'yourpassword')
server.send_mail(' [email protected] ',{'subject':'Hello!','content_text':'By zmail.'})
server.send_mail([' [email protected] ',' [email protected] '],{'subject':'Hello!','content_text':'By zmail.'})
2、接收最後一封郵件:
import zmail
server = zmail.server(' [email protected] 』, 'yourpassword')
latest_mail = server.get_latest()
zmail.show(latest_mail)
3、發送帶附件的郵件:
import zmail
mail = {
'subject': 'Success!', # Anything you want.
'content_text': 'This message from zmail!', # Anything you want.
'attachments': ['/Users/zyh/Documents/example.zip','/root/1.jpg'], # Absolute path will be better.
}
server = zmail.server(' [email protected] 』, 'yourpassword')
server.send_mail(' [email protected] ', mail)
server.send_mail([' [email protected] ',' [email protected] '], mail)
4、發送html格式郵件:
with open('/Users/example.html','r') as f:
content_html = f.read()
mail = {
'subject': 'Success!', # Anything you want.
'content_html': content_html,
'attachments': '/Users/zyh/Documents/example.zip', # Absolute path will be better.
}
server.send_mail(' [email protected] ',mail)
5、使用抄送:
server.send_mail([' [email protected] ',' [email protected] '],mail,cc=[' [email protected] '])
6、自定義server
server = zmail.server('username','password',smtp_host='smtp.163.com',smtp_port=994,smtp_ssl=True,pop_host='pop.163.com',pop_port=995,pop_tls=True)
7、根據ID取回郵件:mail = server.get_mail(2)
根據日期、主題、發送人取回郵件:
mail = server.get_mails(subject='GitHub',after='2018-1-1',sender='github')
mail = server.get_mails(subject='GitHub',start_time='2018-1-1',sender='github',start_index=1,end_index=10)
8、查看郵箱統計
mailbox_info = server.stat() #結果為包含兩個整型的元組: (郵件的數量, 郵箱的大小).
9、刪除郵件:MailServer.delete(which)
10、保存附件:zmail.save_attachment(mail,target_path=None,overwrite=False)
11、保存郵件:zmail.save(mail,name=None,target_path=None,overwrite=False)
12、讀取郵件:zmail.read(file_path,SEP=b'\r\n')
支持的列表:
⑸ 有關python正則表達式的問題
163郵箱格式
ret = re.match(r"^[a-zA-z]{1}w{5,17}@163.com$", email)
原意是想匹配一個前三個字元為字母、後三個字元為數字的163郵箱:
ret=re.match(r'^[a-zA-z]{3}[0-9]{3}@163.com$", email)
或ret=re.match(r'^[a-zA-z]{3}d{3}@163.com$", email)
? * + {} 都是量詞的使用,表示前面字元或字元串重復的次數
?重復0或1次
* 重復0或多次
+ 重復1或多次
{n} 重復n次
{n,} 至少重復n次
{n,m} 重復次數≥n 且 ≤m
⑹ 我用python發郵件。出現以下問題怎麼處理
1、准備兩個郵箱帳號,一個是常用的(接收端),另一個可以注冊網易163郵箱或者foxmail郵箱也可(發送端),本次我使用兩個QQ郵箱進行演示。
2、在郵箱的設置
3、賬戶中開啟SMTP功能,如下圖:
8、如果能成功收到郵件的話就說明完成了。