邮件Web客户端相关
前段時(shí)間在忙著做Mail客戶端相關(guān)的東西,挺頭疼的。
網(wǎng)上相關(guān)信息并不是很多。主要是關(guān)于發(fā)送郵件的,主要用于對(duì)留言進(jìn)行回復(fù)。這些功能主要是用在企業(yè)站上面的,對(duì)于Web客戶端,還是不夠的。
WebMail中包含了:收件箱、發(fā)件箱、草稿箱、已發(fā)郵件、垃圾郵件、垃圾郵件處理、簽名管理、收件箱管理、文件夾管理和用戶名信息管理。
其中最浪費(fèi)時(shí)間的是收件箱。對(duì)于Web程序的限制,對(duì)網(wǎng)絡(luò)的要求,性能的要求相對(duì)高點(diǎn)。
Mail中最重要的幾個(gè)點(diǎn)是:能收、能發(fā)、不丟郵件、能看。
升級(jí)一下需要的東西:收的快、發(fā)的快、穩(wěn)定性高,可定時(shí)收發(fā)。
?
這里首先用到的第三方組件是JMail。是jmail 在很多地方都會(huì)有人用到,這個(gè)組件中有免費(fèi)版本,或許這也是其流行的一個(gè)原因。
在發(fā)送郵件時(shí),它的優(yōu)點(diǎn)是:可以設(shè)置郵件的優(yōu)先級(jí)、支持Html郵件、可在郵件中加入圖片、可多收件人、抄送;支持要SMTP發(fā)信認(rèn)證的Smtp服務(wù)器;
這是網(wǎng)上的一段發(fā)信的代碼:
/******************************************/
public bool SendMail()?
{?
try?
{?
jmail.MessageClass myMail = new jmail.MessageClass();?
myMail.Charset="GB2312";//郵件使用字符集?
myMail.From = model.From; //郵件發(fā)送者郵件地址?
myMail.FromName = model.FromName; //郵件發(fā)送者名稱?
myMail.AddRecipient(model.To,model.ToName,"");//添加郵件接收者名稱以及郵件地址?
myMail.Subject = model.Subject; //郵件主題?
myMail.Body = model.Body; //郵件內(nèi)容?
// 判斷是否有附件?
if(model.FileName != "")?
{?
myMail.AddAttachment(model.FileName,false,model.FileType);//添加郵件附件?
}?
myMail.Priority =model.Priority; //郵件的緊急程度?
myMail.MailServerUserName = model.MailServerUserName; //登陸郵件服務(wù)器的用戶名?
myMail.MailServerPassWord = model.MailServerPassWord; //登陸郵件服務(wù)器的密碼?
return myMail.Send(model.MailDomain,false); //郵件服務(wù)器地址(例:smtp.163.com)?
}?
catch(Exception ex)?
{?
throw new Exception(this+".SendMail():"+ex.ToString());?
}?
}?
/******************************************/
?
然后說收信:
收信中,有一個(gè)收信時(shí)間的問題。這個(gè)糾結(jié)了好久的時(shí)間。
當(dāng)郵件服務(wù)器中有10封郵件時(shí),收完10封。用Jmail很快速。過幾天,有了一封新郵件,怎么收?
很多人會(huì)說,判斷是否是未收郵件,如果是就接收,這就OK了。事實(shí)就是這樣,但怎么判斷是不是未收的郵件呢?
?在存入郵件到庫中時(shí)候,有一個(gè)唯一ID--MailId(怎么個(gè)算法,不清楚哈)。通過讀取Mail服務(wù)器上的MailId然后逐個(gè)的判斷是否已經(jīng)存在,存在則獲取這封郵件的信息。
在郵件數(shù)量200以內(nèi),這樣的方法還是可以使用的,不會(huì)太影響到速度。
?
那么,服務(wù)器有20000封呢?
IMAP 技術(shù)可以實(shí)現(xiàn),只收取郵件的部分,如:Header ?or Size?
?
?
未完待續(xù)……
?
轉(zhuǎn)載于:https://www.cnblogs.com/jzb-dev/archive/2011/12/18/2292211.html
總結(jié)
以上是生活随笔為你收集整理的邮件Web客户端相关的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TWaver html5 + NodeJ
- 下一篇: 【备忘】bounce ease