像网易邮箱、雅虎邮箱、新浪邮箱等等等等,它们 是如何 实现的?我拿 QQ 邮箱 给 网易邮箱  发 邮件   网易邮箱  是 如何实现 接受的?如果 我要做一个  邮件服务器   可以接受别的邮箱以 [email protected] 类 地址发的邮件。
实现这个功能,需要 做些 什么?我想学习 这 方面 的 技术 ,却 对 好多 东西 不知道。如果要做一个 邮件服务系统  要使用些 什么 知识?
我会点C#分 少点 , 不过是我能给的 最高分 了。

解决方案 »

  1.   

    http://topic.csdn.net/t/20050328/21/3889115.html
      

  2.   

    项目源码
    http://www.codesoso.com/code/SMTP_POP3_Mail_Server.aspx
    http://download.chinaprj.cn/detail/iiDqBTBi
    http://www.codeproject.com/info/search.aspx?artkw=mail+server
      

  3.   

    首先要懂普通的tcp/ip编程知识。参考:http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&rlz=1I7GGLD_zh-CN&q=smtp%E5%8D%8F%E8%AE%AE+mail+receive&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=
      

  4.   

    邮件服务相比FTP还是复杂一点的。但是,也不过是“几袋烟工夫”就初步做出来了。
      

  5.   

    http://wenku.baidu.com/view/425a47ec0975f46527d3e1d5.html
      

  6.   

    .NET 里有提供SMTP的类库,以前有弄过但是功能很少...还是建议自己百度google看下教程...
      

  7.   


    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.Mail;namespace 发送邮件
    {
      class Program
      {
      public static bool SendMail(string messTo, string messBody)
      {
      MailMessage mess = new MailMessage();
      mess.From = new MailAddress("[email protected]", "报警系统");//发件人
      mess.Subject = "报警系统";//主题
      mess.IsBodyHtml = true;//允许HTML
      mess.BodyEncoding = System.Text.Encoding.UTF8;//编码
      mess.Body = messBody;
      SmtpClient client = new SmtpClient();//new 出 客服端的 smtp
      client.Host = "smtp.163.com";
      client.Credentials = new System.Net.NetworkCredential("邮箱名", "密码");//需要发件人的账号 密码
      mess.To.Add(new MailAddress(messTo));//收件人 数组(可以群发)
      try
      {
      client.Send(mess);
      return true;
      }
      catch (Exception ex)
      {
      return false;
      }
      }
      static void Main(string[] args)
      {
      //SendMail("[email protected]", "你好啊,这是我第一次发送C#邮件");
      SendMail("[email protected]", "你好啊,这是我第一次发送C#邮件");
      }
      }
    }
      

  8.   

    邮件系统的基本协议有:
    smtp,
    pop3,
    imap,
    mime在实现上有 
    mta, transfer agent(exim, sendmail, postfix, ...)
    mda, delivery agent(procmail,^_^...)
    mua  user agent (foxmail, mutt, pine, emacs, ...)
    的划分
      

  9.   

    从 我给 [email protected] 发送邮件开始   到    邮箱[email protected] 接收到  这中间 经历过什么?
      

  10.   

    邮件发送接收过程粗略解释
    客户端有邮件发送给邮件服务器(XYZ.com)假设收件人[email protected]
        发件人[email protected]邮件服务器接收邮件后,先检查本地路由,发现abc.com不是本地邮件(本地邮件应该是xyz.com)于是邮件服务器希望和abc.com的服务器进行通信地球上网络通信需要IP地址这么个东西,对于目前邮件服务器来说,已知的是要去的地方为abc.com于是邮件服务器联系DNS服务器,邮件服务器在DNS中要查找的是一条MX记录,平时我们查找的是www.abc.com
    这个东西在DNS中叫A记录,而发送邮件时需要的MX,MX的大体格式为 abc.com<->xxx.abc.com 其实这个很奇怪
    MX不是直接对应的IP地址,而是先对应一个FQDN(XXX.abc.com),所以大家在建立MX记录的时候要先建立一个
    A记录,MX在DNS中解析时先解析到一个FQDN的主机,然后再由这个FQDN主机的A记录找到IP地址,其实这个主机
    未必要是mail.abc.com 无所谓的好了,现在邮件服务器知道abc.com的IP地址了,于是邮件服务器发送邮件到这个IP的25号端口,对方邮件服务器
    检查本地路由,然后投递到[email protected]这个人这里讲下本地路由,此路由指的是邮件路由,非IP路由。其实就是大家常说的收件人策略,也就是这个域名是不是
    和我的邮件服务器有关系。邮件服务器在接受到邮件,要判断这个邮件是不是给我的,上面的那个信件接受域为
    abc.com,那么接受邮件服务器要看abc.com和自己有关系没有,如果在收件人策略中有abc.com的信息,接受,
    如果没有,开始检查中继权限,然后决定是否中继。
      

  11.   

    首先要懂普通的tcp/ip编程知识。参考:http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&rlz=1I7GGLD_zh-CN&q=smtp%E5%8D%8F%E8%AE%AE+mail+receive&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=项目源码
    http://www.codesoso.com/code/SMTP_POP3_Mail_Server.aspx
    http://download.chinaprj.cn/detail/iiDqBTBi
    http://www.codeproject.com/info/search.aspx?artkw=mail+server 
     
      

  12.   

    可以先看看SMTP和PO3协议的相关内容,用搜索已经找吧。
    然后要做的话,可以把一些开源的小型的系统拿过来研究,入手不要太难。SMTP and POP3 Mail Server
    这是一个用c#编写的SMTP和POP3服务器端程序,有源代码,你首先要用自己的邮箱注册成codeproject的用户,然后可以下载源码来研究,祝你学习顺利!