使用python腳本處理郵件的簡單介紹

本文目錄一覽:

python 怎麼把excel寫到郵件里

import xlrd

import os,time

#引入郵件相關庫

import smtplib

from email.mime.text import MIMEText

from email.header import Header

import base64

#處理從excel中讀取的float類型數據的類

#目前集成兩種處理:(1)float到int型的轉換(2)float到str型的轉換,後續有需要可以增加方法以集成其他類型的轉換

class judgeFloat:

def floatToInt(self,variable):

variable=”%d”%variable

return variable

def floatToStr(self,variable):

variable=xlrd.xldate_as_tuple(variable,0)

variable=list(variable)

if variable[1]10:

variable[1]=’0’+str(variable[1])

variable=str(variable[0])+str(variable[1])+str(variable[2])

return variable

#確定文檔是否修改的函數:獲取文檔的修改時間與本地時間對比,不一致要求用戶確認是否繼續執行,一致則直接執行

def openFile(filename,address):

filetime=time.strftime(“%Y/%m/%d”,time.localtime(os.stat(address+filename).st_mtime))

local=time.strftime(“%Y/%m/%d”,time.localtime())

if filetime!=local:

single=input(“文檔今天還沒有修改過,請確認是否繼續?確認請輸入1後點擊回車,否則輸入2點擊回車。”)

if single==1:

pass

elif single==2:

exit()

else:

print ‘您的輸入有誤!腳本即將結束。’

time.sleep(5)

exit()

else:

pass

#寫郵件的函數

def mailWrite(filename,address):

header=’htmlheadmeta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ //head’

th=’body text=”#000000″committed缺陷詳情:table border=”1″ cellspacing=”0″ cellpadding=”3″ bordercolor=”#000000″ width=”1800″ align=”left” tr bgcolor=”#F79646″ align=”left” th標識/thth摘要/thth狀態/thth優先級/thth嚴重性/thth標記/thth所有者/thth創建時間/thth修改時間/th/tr’

#打開文件

filepath=address+filename

book=xlrd.open_workbook(filepath)

sheet=book.sheet_by_index(0)

#獲取行列的數目,並以此為範圍遍歷獲取單元數據

nrows = sheet.nrows-1

ncols = sheet.ncols

body=”

cellData=1

for i in range(1,nrows+1):

td=”

for j in range(ncols):

#讀取單元格數據,賦給cellData變量供寫入HTML表格中

cellData=sheet.cell_value(i,j)

#調用浮點型轉換方法解決讀取的日期內容為浮點型數據的問題

if isinstance(cellData,float):

if j==0 and i0:

cellDataNew=judgeFloat()

cellData=cellDataNew.floatToInt(cellData)

else:

cellDataNew=judgeFloat()

cellData=cellDataNew.floatToStr(cellData)

else:

pass

tip=’td’+cellData+’/td’

#併入tr標籤

td=td+tip

tr=’tr’+td+’/tr’

#為解決字符串拼接問題增設語句,tr從excel中讀取出來是unicode編碼,轉換成UTF-8編碼即可拼接

tr=tr.encode(‘utf-8’)

#併入body標籤

body=body+tr

tail=’/table/body/html’

#將內容拼接成完整的HTML文檔

mail=header+th+body+tail

return mail

#發送郵件

def mailSend(mail):

#設置發件人

sender = ‘***’

#設置接收人

receiver = ‘***@***.com’

#設置郵件主題

subject = ‘測試郵件,請忽略!’

#設置發件服務器,即smtp服務器

smtpserver = ‘smtp.***.net’

#設置登陸名稱

username = ‘***@***.net’

#設置登陸密碼

password = ‘******’

#實例化寫郵件到正文區,郵件正文區需要以HTML文檔形式寫入

msg = MIMEText(mail,’html’,’utf-8′)

#輸入主題

msg[‘Subject’] = subject

#調用郵件發送方法,需配合導入郵件相關模塊

smtp = smtplib.SMTP()

#設置連接發件服務器

smtp.connect(‘smtp.***.net’)

#輸入用戶名,密碼,登陸服務器

smtp.login(username, password)

#發送郵件

smtp.sendmail(sender, receiver, msg.as_string())

#退出登陸並關閉與發件服務器的連接

smtp.quit()

#入口函數,配置文件地址和文件名

def main():

filename=’Sheet1.xlsx’

address=’d:/defectManage/’

openFile(filename,address)

mail=mailWrite(filename,address)

mailSend(mail)

#調用執行main函數

if __name__==”__main__”:

main()

求助:寫python腳本發 帶有附件的郵件, 收到郵件後,發現附件直接顯示在屏幕上了,而不是以附件形式

這是因為你的附件格式。如果是rar格式的話,可能就不會直接顯示在屏幕上了。

我以前寫郵件收件端都比你這個複雜,那時候郵件的庫支持還很差,所有的協議都要自己寫。包括附件的編碼。那個很長的BASE64寫的東西。

Python用腳本發送郵件帶圖片的提示錯誤,為什麼呢?初學者,拿別人的例子該的。。

authentication failed 認證失敗

smtp.login(username, password) 用戶名,密碼不正確 或者 mail未開啟IMAP POP3等協議

Python 收發郵件 和 刪除郵件 怎麼做到

郵件傳輸的SMTP協議,並根據該協議,利用了Python的『smtplib』和『email『模塊,完成郵件的成功發送。

簡單搭的報警郵件服務器沒有UI,用FOXMAIL登錄獲取郵件頭刪除過慢,寫個python腳本快速清空郵件

#!/usr/bin/python

import poplib

def main():

uugame=poplib.POP3(‘mail.url.com’,110)

uugame.user(‘dicc@url.com’)

uugame.pass_(‘dicc1234’)

print uugame.stat()

mailmax=uugame.stat()[0]

for i in range(mailmax):

uugame.dele(i+1)

print uugame.stat()

uugame.quit()

if __name__==”__main__”:

main()

Python寫完的腳本,在windows發郵件正常,在linux下出現錯誤

名稱解析問題……既然windows正常,linux不正常,一般不都是編碼弄的么……我亂猜的。

python發郵腳本運行每次都報socket.error: [Errno 110] Connection timed out ,用別人的機器也報

這個簡單啊。郵件服務器需要驗證。你這裡協議沒有對。所以你的程序一直在等服務器正確的響應。所以當然超時了。要自己改一下發送協議,加上驗證。驗證方法有幾種,要根據返回結果確認是什麼樣的驗證。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/198103.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 07:30
下一篇 2024-12-04 07:30

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python for循環求1到100的積

    Python中的for循環可以方便地遍歷列表、元組、字典等數據類型。本文將以Python for循環求1到100的積為中心,從多個方面進行詳細闡述。 一、for循環語法 Pytho…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

    編程 2025-04-29

發表回復

登錄後才能評論