前段時間在忙著做mail客戶端相關的東西,挺頭疼的。
webmail中包含了:收件箱、發件箱、草稿箱、已發郵件、垃圾郵件、垃圾郵件處理、簽名管理、收件箱管理、資料夾管理和使用者名稱資訊管理。
其中最浪費時間的是收件箱。對於web程式的限制,對網路的要求,效能的要求相對高點。
mail中最重要的幾個點是:能收、能發、不丟郵件、能看。
公升級一下需要的東西:收的快、發的快、穩定性高,可定時收發。
這裡首先用到的第三方元件是jmail。是jmail 在很多地方都會有人用到,這個元件中有免費版本,或許這也是其流行的乙個原因。
這是網上的一段發信的**:
public bool sendmail()
mymail.priority =model.priority; //郵件的緊急程度
mymail.mailserverusername = model.mailserverusername; //登陸郵件
伺服器的使用者名稱
mymail.mailserverpassword = model.mailserverpassword; //登陸郵件
伺服器的密碼
return mymail.send(model.maildomain,false); //郵件
伺服器}
catch(exception ex) }
然後說收信:
收信中,有乙個收信時間的問題。這個糾結了好久的時間。
當郵件伺服器中有10封郵件時,收完10封。用jmail很快速。過幾天,有了一封新郵件,怎麼收?
很多人會說,判斷是否是未收郵件,如果是就接收,這就ok了。事實就是這樣,但怎麼判斷是不是未收的郵件呢?
在存入郵件到庫中時候,有乙個唯一id--mailid(怎麼個演算法,不清楚哈)。通過讀取mail伺服器上的mailid然後逐個的判斷是否已經存在,存在則獲取這封郵件的資訊。
在郵件數量200以內,這樣的方法還是可以使用的,不會太影響到速度。
那麼,伺服器有20000封呢?
imap 技術可以實現,只收取郵件的部分,如:header or size
未完待續……
根據 HTTP header 收集客戶端相關資訊
課程 web2.0程式設計 作業要求 用 tornado 編寫一段小程式,根據 http header 收集客戶端相關資訊 是否手機 作業系統 瀏覽器等資訊 作業提示 主要解析 request header user agent 該字串格式可通過 wiki 鏈結 查 到 通 過 tornado 英 ...
MySQL學習總結(2) MySQL客戶端相關語句
1.啟動mysql服務 在命令列輸入net start 服務名 2.停止mysql服務 在命令列輸入net stop 服務名 也可以在 任務管理器 中啟動與停止mysql服務 3.登入mysql 在命令列輸入mysql uroot p p3306 h127.0.0.1,回車確認 出現enter pa...
客戶端發郵件
smtp郵件傳送協議 手動給某乙個163郵箱發信 步驟1 找到email儲存郵件的伺服器 步驟2 連線伺服器,用smtp協議與之對話 cmd nslookup q mx 163.com 查到163伺服器 telnet 163mx02.mxmail.netease.com 25 smtp走的埠是25 ...