?gbk?B?suLK1NPKvP4?=这个是我的邮件标题怎么解码啊?
还有接受邮件的附件怎么接受啊,或者那位兄弟能给我一份pop3或者jmail接收邮件的代码,要c#的!
小弟的邮箱denggaojian0131@163.com!
谢谢了,小弟搞了两天了,还是没有搞出来!
------解决方案--------------------------------------------------------
晚上给你发段代码。现在手头上没有。
基本思路就是自己解析邮件格式。
可以上网查一下pop3的相关协议。再找一下常见的邮件格式。
------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
jmail
- C# code
private void Button2_Click(object sender, System.EventArgs e) { ///建立发邮件类 jmail.MessageClass oJmailMessage = new jmail.MessageClass(); /**//// 字符集 oJmailMessage.Charset = "GB2312"; /**////附件的编码格式 oJmailMessage.Encoding = "BASE64"; oJmailMessage.ContentType = "text/html"; /**////是否将信头编码成iso-8859-1字符集 oJmailMessage.ISOEncodeHeaders = false; /**//// 优先级 oJmailMessage.Priority = Convert.ToByte(1); /**////发送人邮件地址 oJmailMessage.From = "yangj@asiait.net"; /**////发送人姓名 oJmailMessage.FromName = "请不要再次向我发送垃圾邮件。我已经向您警告过了。谢谢"; /**//// 邮件主题 oJmailMessage.Subject = "请不要再次向我发送垃圾邮件!请您自重,谢谢! "; oJmailMessage.Body = "请不要再次向我发送垃圾邮件。我已经向您警告过了,这是第五次了。我已经从事软件开发两年,不需要培训,请不要再次向我发送垃圾邮件!请您自重,谢谢!(这次是个小小的警告)"; /**////身份验证的用户名 oJmailMessage.MailServerUserName = "____@_____.net"; /**////用户密码 oJmailMessage.MailServerPassWord = "_____"; /**////添加一个收件人,抄送人和密送人的添加和该方法是一样的,只是分别使用AddRecipientCC和RecipientBCC两个属性 ///要是需要添加多个收件人,则重复下面的语句即可。添加多个抄送和密送人的方法一样 highwell@msa.hinet.net oJmailMessage.AddRecipient("c_a_it045@yahoo.com.cn","c_a_it045@yahoo.com.cn","c_a_it045@yahoo.com.cn"); if(oJmailMessage.Send("mail.asiait.net",false)) { Response.Write("发送成功!"); } else { Response.Write("发送失败,请检查邮件服务器的设置!"); } oJmailMessage = null; }
------解决方案--------------------------------------------------------
- C# code
1/**//// <summary> 2/// 利用Jmail接收邮件 3/// </summary> 4private void ReciveByJmail() 5{ 6 /**////建立收邮件对象 7 jmail.POP3Class popMail = new POP3Class(); 8 9 /**////建立邮件信息接口10 jmail.Message mailMessage; 1112 /**////建立附件集接口13 jmail.Attachments atts;1415 /**////建立附件接口16 jmail.Attachment att;1718 try19 {20 popMail.Connect(TxtPopUser.Text.Trim(),TxtPopPwd.Text.Trim(),TxtPopServer.Text.Trim(),Convert.ToInt32(TxtPopPort.Text.Trim()));21 22 /**////如果收到邮件23 if(0 < popMail.Count) 24 { 25 /**////根据取到的邮件数量依次取得每封邮件26 for(int i=1;i <= popMail.Count;i++) 27 {28 /**////取得一条邮件信息29 mailMessage = popMail.Messages[i]; 3031 /**////取得该邮件的附件集合32 atts = mailMessage.Attachments; 33 34 /**////设置邮件的编码方式 35 mailMessage.Charset = "GB2312"; 36 37 /**////设置邮件的附件编码方式 38 mailMessage.Encoding = "Base64"; 39 40 /**////是否将信头编码成iso-8859-1字符集 41 mailMessage.ISOEncodeHeaders = false; 42 43 /**////邮件的优先级 44 txtpriority.Text = mailMessage.Priority.ToString(); 45 46 /**////邮件的发送人的信箱地址 47 txtSendMail.Text = mailMessage.From; 48 49 /**////邮件的发送人 50 txtSender.Text = mailMessage.FromName; 51 52 /**////邮件主题 53 txtSubject.Text = mailMessage.Subject; 54 55 /**////邮件内容 56 txtBody.Text = mailMessage.Body; 57 58 /**////邮件大小 59 txtSize.Text = mailMessage.Size.ToString(); 60 61 for(int j=0;j<atts.Count;j++)62 {63 /**////取得附件64 att = atts[j]; 65 66 /**////附件名称 67 string attname = att.Name; 68 69 /**////上传到服务器70 att.SaveToFile("e:\\attFile\\"+attname); 71 72 }73 74 }75 panMailInfo.Visible = true;76 att = null;77 atts = null;78 }79 else80 {81 Response.Write("没有新邮件!");82 }8384 popMail.DeleteMessages();85 popMail.Disconnect();86 popMail = null;87 }88 catch89 {90 Response.Write("Warning!请检查邮件服务器的设置是否正确!");91 }92}