自制Pop3邮件接收系统(一):利用MatchEvaluator实现

来源: 作者: 2007-10-28 出处:pcdog.com

协议  

要作自制的Pop3邮件接收系统,就要自己处理邮件的编码

大家可能会收到以下的“乱码”,
~{4s

实际上是简体中文的HZ编码,在邮件中经常会出现,

因为邮件协议体系通常是七位的,而汉字却是双字节的

所以就使用以下的方法对其进行解码

String hzDecode(Match m){
String tmp=m.ToString();
byte[] ret=new byte[tmp.Length-4];
for(int i=0;i ret[i]=(byte)(tmp[i+2]+128);
return Encoding.GetEncoding(936).GetString(ret);
}


使用范例:
string strHz="~{4s strHz=Regex.Replace(strHz,@"~{(.+?)~}",new MatchEvaluator(hzDecode));
Response.Write(" HZ Decode="+strHz);


随便带上编码的代码(可用来发送邮件用)

String hzEncode(Match m){
byte[] tmp=Encoding.GetEncoding(936).GetBytes(m.ToString());
StringBuilder ret=new StringBuilder("~{");
for(int i=0;i ret.Append((char)(tmp[i]-128));
ret.Append("~}");
return ret.ToString();
}

使用范例:
string strHz="大家好,我是qiushuiwuhen,欢迎来到csdn.";
strHz=Regex.Replace(strHz,@"[^x00-xff]+",new MatchEvaluator(hzEncode));
Response.Write("

HZ Encode="+strHz);</P><P>原理:使用MatchEvaluator的回调(CallBack)函数执行Regex的替换操作</P><br /> <font color="#0000FF">更多内容请看PCdog.com--</font><a href="http://www.pcdog.com/special/1400/14/index.html" target="_blank"><font color="ff0033">POP3协议</font></a>&nbsp;&nbsp;<a href="http://www.pcdog.com/special/1070/index.html" target="_blank"><font color="ff0033">垃圾邮件</font></a><font color="#FF0000">专题</font><br /> <span id="ad_pcdog_big_code"> <script type="text/javascript"><!-- google_ad_client = "pub-1572879403720716"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; google_ad_channel ="2957605308"; google_alternate_ad_url ="http://www.pcdog.com/js/336.htm"; google_color_border = "F5FAFA"; google_color_bg = "F5FAFA"; google_color_link = "1F3A87"; google_color_url = "0000FF"; google_color_text = "000000" google_language = 'zh-CN'; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </span> <script type="text/javascript"> document.getElementById('ad_pcdog_big').innerHTML=document.getElementById('ad_pcdog_big_code').innerHTML; document.getElementById('ad_pcdog_big_code').innerHTML=""; </script> </div> <div class="page_list"></div> <div class="pre_next_art">上一篇:<a href="/a/19/10/h208821.html" target="_blank" title="自制Pop3邮件接收系统(二):利用TcpClient得到Pop3的邮件列表数据">自制Pop3邮件接收系统(二):利用TcpClient得到Pop3的邮件列表数据</a><br />下一篇:<a href="/a/19/10/p208823.html" target="_blank" title="C# - MailSender 邮件发送组件源代码 (支持ESMTP, 附件)">C# - MailSender 邮件发送组件源代码 (支持ESMTP, 附件)</a><br /></div> <div id="picasa_pic"></div> <div class="pic_area"><iframe marginwidth="0" marginheight="0" frameborder="0" scrolling="No" src='/dogpicframe/99/picFrame_h.html' width="100%" height="130"></iframe></div> </div> <!--end content --> <div id="navBar"> <div class="sectionHead">相关专题</div> <div class="relatedLinks"> &middot;<a class="link_topics" href="/special/1070/" title="垃圾邮件" target="_blank">垃圾邮件</a> <span class="link_topics_remark">(2218篇文章)</span><br />&middot;<a class="link_topics" href="/special/1400/14/" title="POP3协议" target="_blank">POP3协议</a> <span class="link_topics_remark">(96篇文章)</span><br /></div> <div id="advert"><a href="/2007hot/picasa/" target="_blank"><img src="/2007pic/mypicasaad.jpg" alt="图像处理软件picasa" width="320" height="80" border="0" /></a><br /><div id="ggad336"></div> </div> <div class="sectionHead">热门排行文章</div> <div class="relatedLinks"> </div> <div class="sectionHead">最新技术文章</div> <div class="relatedLinks"> &middot;<a href="/a/19/10/q219349.html" title="DVD之终极刻录-LG GSA-4082B SuperMulti DVD刻录机测试" target="_blank">DVD之终极刻录-LG GSA-4082B SuperMult</a> 12-25<br />&middot;<a href="/a/19/10/i219328.html" title="VISION 2006:赛门铁克的中国结" target="_blank"><font color="ff0000">VISION 2006:赛门铁克的中国结</font></a> 12-25<br />&middot;<a href="/a/19/10/h219215.html" title="专家:密码防护已显不足" target="_blank">专家:密码防护已显不足</a> 12-25<br />&middot;<a href="/a/19/10/n213476.html" title="Adobe证实PDF存在代码隐患 补丁月底前推出" target="_blank">Adobe证实PDF存在代码隐患 补丁月底前推</a> 12-25<br />&middot;<a href="/a/19/10/h213470.html" title="金山庆祝上市 员工将获1000元红包" target="_blank">金山庆祝上市 员工将获1000元红包</a> 12-25<br />&middot;<a href="/a/19/10/k213469.html" title="雷军称中国培育不出新微软 否认仅靠网游支撑" target="_blank">雷军称中国培育不出新微软 否认仅靠网游</a> 12-25<br />&middot;<a href="/a/19/10/h213468.html" title="金山股价首日受追捧 一上午涨50%" target="_blank">金山股价首日受追捧 一上午涨50%</a> 12-25<br />&middot;<a href="/a/19/10/u213467.html" title="阿里巴巴B2B展开上市前推介 雅虎再入股3%" target="_blank">阿里巴巴B2B展开上市前推介 雅虎再入股3</a> 12-25<br />&middot;<a href="/a/19/10/u213466.html" title="阿里巴巴奔赴港上市 雅虎将认购10%IPO股票" target="_blank">阿里巴巴奔赴港上市 雅虎将认购10%IPO</a> 12-25<br />&middot;<a href="/a/19/10/p213463.html" title="C2C发展形成两派观点:淘宝易趣再战免费论" target="_blank">C2C发展形成两派观点:淘宝易趣再战免费</a> 12-25</div> <div class="sectionHead">相关文章阅读</div> <div class="relatedLinks"><li><a href="/edu/photoshop/18/10/c236119.html" title="Photoshop 抠图实例-头发抠图" target="_blank">Photoshop 抠图实例-头发抠图</a></li><li><a href="/edu/windows/18/10/j215500.html" title="Windows黑客编程基础" target="_blank">Windows黑客编程基础</a></li><li><a href="/a/19/10/v212884.html" title="双网卡共享上网如何设置" target="_blank">双网卡共享上网如何设置</a></li><li><a href="/network/route/18/10/s216079.html" title="如何利用路由器设置局域网" target="_blank">如何利用路由器设置局域网</a></li><li><a href="/a/19/10/j209391.html" title="看看PS高手处理过的图片" target="_blank">看看PS高手处理过的图片</a></li></div> <div class="pic_area"></div> </div> <!--end navBar div --> <!-- google 336X280 ad --> <div id="ggad336code"> <script type="text/javascript"><!-- google_ad_client = "pub-1572879403720716"; google_ad_width = 300; google_ad_height = 250; google_ad_format = "300x250_as"; google_ad_type = "text_image"; google_ad_channel ="6414665168"; google_alternate_ad_url ="http://www.pcdog.com/js/336.htm"; google_color_border = "FCFAF3"; google_color_bg = "FCFAF3"; google_color_link = "1F3A87"; google_color_url = "0000FF"; google_color_text = "000000" google_language = 'zh-CN'; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </div> <script type="text/javascript"> document.getElementById('ggad336').innerHTML=document.getElementById('ggad336code').innerHTML; document.getElementById('ggad336code').innerHTML=""; </script> <!-- end google 336X280 ad --> <!-- google picasa ad --> <div id="picasa_picad"> <script type="text/javascript"><!-- google_ad_client = "pub-1572879403720716"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; google_ad_channel =""; google_alternate_ad_url =""; google_color_border = "FCFAF3"; google_color_bg = "FCFAF3"; google_color_link = "1F3A87"; google_color_url = "0000FF"; google_color_text = "000000" google_language = 'zh-CN'; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> </span> <script type="text/javascript"> document.getElementById('picasa_pic').innerHTML=document.getElementById('picasa_picad').innerHTML; document.getElementById('picasa_picad').innerHTML=""; </script> <!-- end google picasa ad --> <script src="http://www230.clickeye.cn/common/clickeye.js"></script> <div id="siteInfo"><script type="text/javascript" src="/0000js/end.js"></script><script type="text/javascript" src="http://www.haoxz.com/click.aspx?s=8768574778&amp;c=876857&amp;id=208822"></script></div> </body> </html>