我用C#+.net+Jmail做了一个发邮件的东西,在我的笔记本上 win2000 professional上运行没问题.
但是我把它放到一台 win2000 Server 的服务器上去, 发送邮件成功, 但是收不到邮件.
  我用本机的虚拟SMPT来发送的.

解决方案 »

  1.   

    我是内部的局域网的一个2000Server,给局域网上的一个exchange发邮件,为什么不行呀!
    win2000 professional 配置是一样的,就可以。
      

  2.   

    真是郁闷, 现在就卡在这里了, 我想用 win2K profession 但是 它只支持10个连接, 多了就不行,所以也不能用。现在 win2K server又有问题。
      

  3.   

    v这几天整理前段时间的资料,发现很多有趣的东西,很多也是以前困扰了很久的问题。这个邮件发送的问题当初我就用了几天时间来搞,在网上查了很多资料,问了很多朋友才做成功的。也有很多值得注意的地方,总的归纳如下:
    1. .net自带的System.Web.Mail类可以进行验证。具体的参看下面代码。
    2.webform的发邮件程序在使用和调试时都要关闭防火墙和某些杀毒软件,要不会出现cpu占用100%的问题和其他很奇怪的问题;在这种情况下winform任然可以正常发送,不过杀毒软件要检测一下(我测试的时候的情况)。
    3.要发送邮件的话必须要有smtp服务器,可以到163去申请一个用户名和密码就像申请邮箱那样申请,但是这样的话你发出去的邮件from地址始终是163.com的不能使用其他的。
    4.或者自己建立一个邮件服务器,我使用的webeasymail企业版的,然后可以自己在这个服务器建立任何域名,程序里的from地址设置为你这里建立的域名即可,即使这个域名不存在或者没有被你申请。webeasymail帮助里面写的只要你能上网就可以发送邮件,不需要有域名,但是接收邮件必须要有域名。--------------------------------------------------------------------------------
    下面贴出两段代码: 
    1.使用jmail发送的,使用的是163申请的用户名bmonkey1024和密码123456。
    MessageClass email = new MessageClass();
    email.Logging = true;
    email.Silent = true;
    email.MailServerUserName = "bmonkey1024";
    email.MailServerPassWord = "123456";
    email.From = "[email protected]";
    email.Subject = "testjmail";
    email.Body = "test jmail send mail";
    email.Charset="GB2312";
    email.ContentType="text/html";
    email.AddRecipient("[email protected]","","");
    email.Send("smtp.163.com",false);
    email.Close(); 
    --------------------------------------------------------------------------------2.使用System.Web.Mail来发送邮件,在webeasymail里新建用户bmonkey,密码123456,域名testmymail。
    MailMessage myMessage=new MailMessage();
    myMessage.To="[email protected]";
    myMessage.From="[email protected]";
    myMessage.Subject="testWebMail";
    myMessage.BodyFormat=MailFormat.Text;
    SmtpMail.SmtpServer="127.0.0.1";
    myMessage.Body="我终于发送成功了!";
    myMessage.Fields.Add
    ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
    myMessage.Fields.Add
    ("http://schemas.microsoft.com/cdo/configuration/sendusername", "bmonkey"); //set your username here
    myMessage.Fields.Add
    ("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456"); //set your password here
    SmtpMail.Send(myMessage); 
    --------------------------------------------------------------------------------最后注意一下第二段代码里System.Web.Mail的验证方式。^_^,这是在joycode的blog上看到的,msdn里面没有哦。 
      

  4.   

    up.这我也不太清楚..希望楼下能给答案..
    我是内部的局域网的一个2000Server,给局域网上的一个exchange发邮件,为什么不行呀!2000pro你也是给局域网上的一个exchange发邮件,并接收成功的???
      

  5.   

    使用System.Web.Util下的MailMessage 对象--ASP.NET中发送Email完整实例:
    http://www.programfan.com/showarticle.asp?id=600