日期:2014-05-18  浏览次数:20486 次

今晚不睡觉也要把它解决掉!在线等待!!!
protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                labelSendMailResult.Text   =   " ";
                if   (Page.IsValid)
                {
                        MailMessage   mailObj   =   new   MailMessage();

                        //   设置email的 'from '和 'to '的地址
                        mailObj.From   =   new   MailAddress(inputMailFrom.Text);
                        mailObj.To.Add(inputMailTo.Text);

                        mailObj.Subject   =   inputMailSubject.Text;
                        mailObj.Body   =   textBoxMailBody.Text;

                        //   可选:   对邮件进行加密
                        //   mailObj.BodyEncoding   =   MailFormat.Base64;

                        //   可选:   设置邮件的优先级别为高
                        mailObj.Priority   =   MailPriority.High;

                        //   使用SmtpMail对象来发送邮件。
                        SmtpClient   smtp   =   new   SmtpClient();
                        smtp.Send(mailObj);
                        labelSendMailResult.Text   =   "邮件发送成功   From:   "   +   inputMailFrom.Text   +   ";   To:   "   +   inputMailTo.Text;
                }
        }
======================================================
如上,我写了一个发送邮件的代码,但是发送邮件时,总是报“未指定   SMTP   主机”的错误,请问我这个代码的问题在哪里?谢谢!今晚不睡觉也要把它解决掉!在线等待!!!

------解决方案--------------------
SMTP 主机 一般默认是 当前主机 127.0.0.1
可以到网上找jmail 相关文章。
------解决方案--------------------
up
------解决方案--------------------
可能控制面版里面的邮件要弄一下。
------解决方案--------------------
你的确没指定SMTP 主机,错误出在
SmtpClient smtp = new SmtpClient();

改成
SmtpClient client = new SmtpClient(smtp服务器的地址);

不过这里还有个问题,现在大多数smtp服务器都是有身份验证的,所以你还要加上验证代码才能发送
具体可以参考
http://www.aiyiweb.com/Dev/Web/ASPNET/aspnet9/2007/200702069878.html


------解决方案--------------------
如果你是用net2.0的话
可以使用下面的代码
string mailServerName = "smtp.21cn.com ";
string from = "amax@21cn.com ";