首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

今晚不睡觉也要把它解决掉!待!

2012-02-08 
今晚不睡觉也要把它解决掉!在线等待!!!protectedvoidButton1_Click(objectsender,EventArgse){labelSendMa

今晚不睡觉也要把它解决掉!在线等待!!!
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.alixixi.com/Dev/Web/ASPNET/aspnet9/2007/200702069878.html


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


string to = "amax@21cn.com ";
string subject = "test ";
string body = "hello ";
using (MailMessage message = new MailMessage(from, to, subject, body))
{
//SmtpClient是发送邮件的主体,这个构造函数是告知SmtpClient发送邮件时使用哪个SMTP服务器
System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient(mailServerName);
//构建一个认证实例,这里是smtp服务器的地址
System.Net.NetworkCredential nc = new System.Net.NetworkCredential( "amax@21cn.com ", "****** ");
//将认证实例赋予mailClient 这里是登陆smtp的用户名和密码
mailClient.Credentials = nc;
//千万不要再画蛇添足在“mailClient.Credentials = nc;”语句下再对mailclient.UseDefaultCredentials赋值了,不管是false还是true,都将导致程序运行出错

// 最终的发送方法
mailClient.Send(message);
}
[解决办法]
//构建一个认证实例,这里是smtp服务器的地址
System.Net.NetworkCredential nc = new System.Net.NetworkCredential( "amax@21cn.com ", "****** ");
//将认证实例赋予mailClient 这里是登陆smtp的用户名和密码
mailClient.Credentials = nc;
=============================================================
这个怎么理解啊??
( "amax@21cn.com ", "****** ");星号代表什么呢??


amax@21cn.com 是邮件用户名
******** 是邮件密码


SMTP服务哭一端都需要认证,这个认证默认使用与 POP 相同的用户名和密码,也就是登录邮箱所使用的用户名和密码。
[解决办法]
可以睡觉了。
[解决办法]
好好睡吧:)

热点排行