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

这个发邮件的程序错在那里了啊中是发不出去啊解决方案

2012-01-20 
这个发邮件的程序错在那里了啊中是发不出去啊?protectedvoidbtnSend_Click(objectsender,EventArgse){stri

这个发邮件的程序错在那里了啊中是发不出去啊?
protected   void   btnSend_Click(object   sender,   EventArgs   e)
        {
                string   From   =   txtMailFrom.Text;
                string   To   =   txtMailTo.Text;
                string   Subject   =   txtMailSubject.Text;
                string   Text   =   FCKeditor1.Value;
                //string   Att   =   fudAtt.PostedFile.FileName;
                SendMail(From,   To,   Subject,   Text);
        }
        private   void   SendMail(string   MailFrom,   string   MailTo,   string   MailSubject,   string   MailText)
        {
                //直接用SmtpMail发送邮件
                try
                {
                        MailMessage   MM   =   new   MailMessage(MailFrom,   MailTo);
                        MM.Subject   =   MailSubject;
                        MM.Body   =   MailText;
                        MM.Attachments.Add(new   Attachment(fudAtt.PostedFile.InputStream,fudAtt.FileName));
                        MM.BodyEncoding   =   System.Text.Encoding.UTF8;
                        MM.IsBodyHtml   =   true;
                        SmtpClient   smtp   =   new   SmtpClient();
                        smtp.Send(MM);
                        FCKeditor1.Value   =   " ";
                        reg.msg( "邮件发送成功 ");
                }
                catch(Exception   ex)
                {
                        reg.msg( "邮件发送失败请重新发送 ");

                }
        }

是不是这一句非要设置   服务器啊   SmtpClient   smtp   =   new   SmtpClient();
我设置成这样   SmtpClient   smtp   =   new   SmtpClient( "smtp.163.com ");
还是提示失败啊

谁有个成功的例子贴出来下   谢谢

我在网上找了半天   放在我的代码里面就是运行不了啊   要带附件的   谢谢

[解决办法]
书上的一个例子:

protected void btSubmit_Click(object sender, EventArgs e)
{
//设置MailMessage类的to属性所需的MailAddress
MailAddress toAddress = new MailAddress(this.tbReceiver.Text);


//设置MailMessage类的from属性所需的MailAddress
MailAddress fromAddress = new MailAddress(this.tbSender.Text);
//新建一个MailMessage类实例
MailMessage message = new MailMessage(fromAddress, toAddress);
//设置这个实例的Subject属性
message.Subject = this.tbSubject.Text;
//设置这个实例的Body属性
message.Body = this.tbMessage.Text;
//添加附件
//获得文件
HttpPostedFile postedFile = file.PostedFile;
//当有附件时
if (postedFile.ContentLength != 0)
{
//声明一个Attachment类实例
Attachment data = new Attachment(postedFile.FileName);
message.Attachments.Add(data);
}
//设置正文格式
if (rblFormat.SelectedItem.Text == "纯文本格式 ")
message.IsBodyHtml = false;
else
message.IsBodyHtml = true;
//添加抄送地址
if (this.tbCc.Text != " ")
{
MailAddress ccAddress = new MailAddress(this.tbCc.Text);
message.CC.Add(ccAddress);
}
//添加暗送地址
if (this.tbBcc.Text != " ")
{
MailAddress bccAddress = new MailAddress(this.tbBcc.Text);
message.Bcc.Add(bccAddress);
}
//新建一个SmtpClient类的实例
SmtpClient client = new SmtpClient();
//设置在本机smtp服务器中绑定的ip地址,本例为本机ip地址
client.Host = "159.226.58.89 ";
//smtp端口,默认为25
client.Port = 25;
//发送
client.Send(message);
//发送完毕后提示
Response.Write( " <script language= 'javascript '> alert( '发送成功 ') </script> ");
}

是不是没设置smtp端口的问题
[解决办法]
可能与邮件服务器用关:
LZ用的是smtp.163.com代理服务器的话,可能只能在本网段内发,如:aa@163.com只能发给bb@163.com,不能外发(原因是163的邮箱限制了外包的功能);
LZ可以找个没作限制的邮件服务器(或者建自己的邮件服务器)就不受此限制.
[解决办法]
有接收邮件的完整例子吗~麻烦哪位大侠贴一个出来?

热点排行