ZhangLiHai.Com

.Net平台实战Mail C#版本

2006-1-22 8:13:59

完全按照RFC821/822协议,用Socket实现SendMail模型。



对于mail服务来说,发送相对解析来说是很简单的。本文主要是用Socket来实现SendMail服务。

程序名称SendMail.cs
辅助工具Base64.cs

调用方法:
............
   SendMail mail = new SendMail("smtp.163.com",25);
   mail.Authorization=true;
   mail.Username="";
   mail.Password="";
   mail.HtmlStyle=true;
   mail.From="my-mail";
   mail.To=new string[]{"mail1","mail2"};

   if(mail.connect())
   {
    
    bool b=mail.send("标题","内容");
    MessageBox.Show(b?"信已经成功提交到对方服务器":"发送信件失败");
    
   }else{
    MessageBox.Show("连接不上SMTP服务器");
   }

..........

其中SendMail中的成员属性.
对于附件来说,所有的类定都定义为:application/octet-stream也就是下载。但是我测试发现gmail会把图片自动显示出来

系统截图:




Gmail收信箱:


相关工程:

http://code.google.com/p/rfc821/


C#程序代码下载

文章中的代码和程序中可能不一致,因为从新写了Base64编码,类名也已经修改了。
修改了SendMail类的属性.

最后更新:2006/10/14