天天看點

jmail接收郵件

private void ReciveByJmail()

{

/**/

///建立收郵件對象

jmail.POP3Class popMail = new POP3Class();

/**/

///建立郵件資訊接口

jmail.Message mailMessage;

/**/

///建立附件集接口

jmail.Attachments atts;

/**/

///建立附件接口

jmail.Attachment att;

try

{

//popMail.Connect(TxtPopUser.Text.Trim(), TxtPopPwd.Text.Trim(), TxtPopServer.Text.Trim(), Convert.ToInt32(TxtPopPort.Text.Trim()));

popMail.Connect("郵箱名", "密碼", "郵件伺服器", 端口);

/**/

///如果收到郵件

if (0 < popMail.Count)

{

/**/

///根據取到的郵件數量依次取得每封郵件

for (int i = 1; i <= popMail.Count; i++)

{

/**/

///取得一條郵件資訊

mailMessage = popMail.Messages[i];

/**/

///取得該郵件的附件集合

atts = mailMessage.Attachments;

// mailMessage.Logging = true;//啟用郵件日志

// mailMessage.ContentType = "text/html";//郵件的格式為HTML格式

// mailMessage.Silent = true; //屏蔽例外錯誤,傳回FALSE跟TRUE兩值

/**/

///是否将信頭編碼成iso-8859-1字元集

mailMessage.ISOEncodeHeaders = true;

/**/

///設定郵件的編碼方式

mailMessage.Charset = "UTF-8";

// mailMessage.Charset = "GB2312";

/**/

///設定郵件的附件編碼方式

mailMessage.Encoding = "Base64";

// mailMessage.ContentTransferEncoding = "base64";

/**/

///郵件的優先級

//txtpriority.Text = mailMessage.Priority.ToString();

/**/

///郵件的發送人的信箱位址

txtSendMail.Text = mailMessage.From;

/**/

///郵件的發送人

//txtSender.Text = mailMessage.FromName;

string formname = mailMessage.Headers.GetHeader("From");

txtSender.Text = DecodeStr(formname);

/**/

///郵件主題

///

//mailMessage.Headers.GetHeader("Subject");

string title1 = mailMessage.Headers.GetHeader("Subject");

txtSubject.Text = DecodeStr(title1);

/**/

///郵件内容

txtBody.Text = mailMessage.Body;

/**/

///郵件大小

txtSize.Text = mailMessage.Size.ToString();

for (int j = 0; j < atts.Count; j++)

{

/**/

///取得附件

att = atts[j];

/**/

///附件名稱

string attname = att.Name;

/**/

///上傳到伺服器

att.SaveToFile("e://attFile//" + attname);

}

}

//panMailInfo.Visible = true;

att = null;

atts = null;

}

else

{

Response.Write("沒有新郵件!");

}

// popMail.DeleteMessages();

popMail.Disconnect();

popMail = null;

}

catch(Exception e)

{

//Response.Write("Warning!請檢查郵件伺服器的設定是否正确!");

Response.Write(e.ToString());

}

}