CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

xp系统下用本机发邮件如何设置SmtpMail.SmtpServer

楼主zbxubing(冰)2006-03-07 21:09:15 在 .NET技术 / ASP.NET 提问

我把.net   sdk   中MailMessage   的示例考出来保存为一个页面。主要代码如下  
  MailMessage   MyMail   =   new   MailMessage();  
            MyMail.From   =   sFrom;  
            MyMail.To   =   sTo;  
            MyMail.Subject   =   sSubject;  
            MyMail.Body   =   sBody;  
            MyMail.Cc   =   sCc;  
            MyMail.Bcc   =   sBcc;  
            MyMail.UrlContentBase   =   sUrlContentBase;  
            MyMail.UrlContentLocation   =   sUrlContentLocation;  
   
                    if   (txtBodyEncoding.Text   ==   Encoding.UTF7.EncodingName)  
                          MyMail.BodyEncoding   =   Encoding.UTF7;  
                    else   if   (txtBodyEncoding.Text   ==   Encoding.UTF8.EncodingName)  
                          MyMail.BodyEncoding   =   Encoding.UTF8;  
                    else  
                          MyMail.BodyEncoding   =   Encoding.ASCII;  
   
            switch   (sBodyFormat.ToUpper())  
                    {  
                          case   "HTML":    
                                MyMail.BodyFormat   =   MailFormat.Html;  
                                break;  
                          default:    
                                MyMail.BodyFormat   =   MailFormat.Text;  
                                break;  
                    }  
                     
                    switch   (sPriority.ToUpper())  
                    {  
                          case   "HIGH":    
                                MyMail.Priority   =   MailPriority.High;  
                                break;  
                          case   "LOW":    
                                MyMail.Priority   =   MailPriority.Low;  
                                break;  
                          default:    
                                MyMail.Priority   =   MailPriority.Normal;  
                                break;  
                    }  
                     
                    //   Build   an   IList   of   mail   attachments.  
                    if   (sAttach   !=   "")  
                    {  
                          char[]   delim   =   new   char[]   {','};  
                          foreach   (string   sSubstr   in   sAttach.Split(delim))  
                          {  
                                MailAttachment   MyAttachment   =   new   MailAttachment(sSubstr);  
                                MyMail.Attachments.Add(MyAttachment);  
                          }  
                    }  
             
                    SmtpMail.SmtpServer   =   sMailServer;  
            SmtpMail.Send(MyMail);  
  我的系统是xp,已经安装了smtp服务,想通过本机发邮件。关于SmtpMail.SmtpServer   文档中是这样描述的:电子邮件中继服务器的名称。如果没有设置   SmtpServer,则使用本地   SMTP   服务器的名称。  
  当我不设置SmtpServer   时提示发送成功,但是到邮箱中没有收到。如果设置为localhost,就会提示:服务器拒绝了一个或多个收件人地址。服务器响应为:   550   5.7.1   Unable   to   relay   for    
  请问我该如何设置iis?或者如何修改我的程序?  
  多谢! 问题点数:100、回复次数:10Top

1 楼godspell(风似冷)回复于 2006-03-07 23:11:29 得分 20

550   5.7.1   Unable   to   relay   for    
  如果你的机只是动态IP或者局域网IP,可能一些别人的邮箱是收不到的了,因为做了邮箱地址过滤了。。。  
   
  最好还是用外网的SMTP服务器吧。。设置一些验证就行了。。Top

2 楼zbxubing(冰)回复于 2006-03-08 09:45:04 得分 0

我的机器是拨号上网的,ip是动态的  
  这是不能发出的原因吗?  
  或者那些邮箱把这个ip来的邮件给过滤了?我试了很多邮箱都没有收到。  
  那么为何会出错呢?  
  多谢!Top

3 楼zhanqiangz(闲云野鹤-Overriding)回复于 2006-03-08 09:48:27 得分 20

和拨号以及动态ip没有关系,  
  关掉你的系统防火墙和杀毒软件然后尝试。Top

4 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-03-08 09:50:26 得分 20

查看此目录  
  C:\Inetpub\mailroot\QueueTop

5 楼jzywh(江大鱼)回复于 2006-03-08 09:54:39 得分 20

MyMail         =         new   MailMessage();  
  MyMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",   "0");  
  //MyMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",   "1");  
  //MyMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",   txtUserName.Text.Trim());  
  //MyMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",   txtPassword.Text.Trim());    
                   
  MyMail.Subject                 =         this.txtTitle.Text.Trim();  
  MyMail.From                 =         this.txtMail.Text.Trim();  
  MyMail.Body                 =         this.txtContent.Text.Trim();  
  MyMail.BodyFormat         =         MailFormat.Text;  
  MyMail.Priority                 =         MailPriority.High;  
   
  SmtpMail.SmtpServer         =         "127.0.0.1";  
  SmtpMail.Send(MyMail);  
   
   
  Top

6 楼jzywh(江大鱼)回复于 2006-03-08 09:55:13 得分 0

http://jzywh.cnblogs.com/archive/2005/06/09/170783.htmlTop

7 楼isline(缘清)回复于 2006-03-08 10:02:20 得分 20

为防止被当作跳板,大多数邮件服务器都关闭了relay   ,所以如果你没有接收邮件的服务器上的mail   user   帐号,你的发送邮件服务器必须有一个合法的DNS   MX记录和一个固定IP才能与大型邮局互发邮件。Top

8 楼zbxubing(冰)回复于 2006-03-10 15:48:20 得分 0

我换了个2003的系统,在smtp属性访问-〉中继中,加入了自己的ip地址  
  SmtpMail.SmtpServer         =         "127.0.0.1";  
  结果:邮件无法发送到   SMTP   服务器。传输错误代码为   0x800ccc15。服务器响应为   not   available    
  请问这是什么原因?  
  我只是想把自己机器作为服务器发个邮件出去,没想到还挺麻烦。  
  谢!Top

9 楼nameone(过客)回复于 2006-03-10 15:59:47 得分 0

机子设置问题Top

10 楼ye_zi(行到水穷处·坐看云起时)回复于 2006-03-10 16:37:09 得分 0

接分Top

相关问题

  • XP中怎么样获得本机IP地址?
  • 在PB中如何获取本机的IP地址(98,2000,XP)?
  • XP的远程连接怎样才能直接登录本机
  • XP如何将本机文件夹映射为网络驱动器
  • XP系统下怎么删除保存在本机的MSN账户
  • 取本机IP
  • 在xp中如何能知道哪台机器正连接着本机的共享文件夹
  • 请问XP中浏览过的网页图片都存在本机那个目录啊???急!!
  • xp下805默认装服务器,用sql连报no listener,只是想在本机上做实验
  • (超级菜鸟)提问,如何用C#编写Asp.net程序呢?(本机用的是XP)

关键词

  • 服务器
  • 邮件
  • 系统
  • 邮箱
  • microsoft
  • mymail
  • smtpserver
  • smtpmail
  • mailpriority
  • 设置

得分解答快速导航

  • 帖主:zbxubing
  • godspell
  • zhanqiangz
  • xiahouwen
  • jzywh
  • isline

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo