问题描述
我的代码:if(TextBox1.Text.IndexOf("@")>-1)//判断收信地址集是否有效{MailMessagemm=newMailMessage();mm.To.Add(newMailAddress(TextBox1.Text));mm.From=newMailAddress(TextBox2.Text);mm.Subject=TextBox5.Text;mm.Body=TextBox6.Text;mm.SubjectEncoding=System.Text.Encoding.UTF8;mm.BodyEncoding=System.Text.Encoding.UTF8;if(FileUpload1.PostedFile.ContentLength!=0)mm.Attachments.Add(newAttachment(FileUpload1.PostedFile.FileName));SmtpClientsmtp=newSmtpClient();smtp.Host=DropDownList2.SelectedValue;smtp.DeliveryMethod=SmtpDeliveryMethod.Network;smtp.Credentials=newSystem.Net.NetworkCredential(TextBox7.Text,TextBox8.Text);//验证发信人try{smtp.Send(mm);mm.Attachments.Clear();}catch(Exceptionex){Label2.Text="Error:"+ex.Message+"Type:"+ex.GetType().ToString();Label2.Visible=true;}}______________________________________提示:Error:邮箱不可用。服务器响应为:Óû§±»Ëø¶¨Type:System.Net.Mail.SmtpException
解决方案
解决方案二:
System.Net.Mail.SmtpClientmail=newSystem.Net.Mail.SmtpClient();mail.Host="mail.host.com";//smtpmail.Credentials=newSystem.Net.NetworkCredential(UserName,Password);mail.Timeout=100;mail.EnableSsl=true;//发送连接套接层是否加密System.Net.Mail.MailMessagemessage=newSystem.Net.Mail.MailMessage();MailAddressmailaddrFrom=newMailAddress("xizhaohui@whizen.com");MailAddressmailaddrTo=newMailAddress("zhao_hui_xi@163.com");message.From=mailaddrFrom;message.To.Add(mailaddrTo);message.Subject="";message.Body="";message.SubjectEncoding=System.Text.Encoding.GetEncoding("gb2312");message.BodyEncoding=System.Text.Encoding.GetEncoding("gb2312");message.IsBodyHtml=true;try{mail.Send(message);JScript.ShowMessage(this.Page,"您的信息已发送,请查收!");}catch(Exceptionex){JScript.ShowMessage(this,ex.Message);}finally{}
解决方案三:
基本上COPY上面的代码,结果错误一样:Error:邮箱不可用。服务器响应为:Óû§±»Ëø¶¨Type:System.Net.Mail.SmtpException
解决方案四:
这说明是不是我的系统设置的问题呢?系统:WIN2003
解决方案五:
我用jmail ,都发/接了N封了!
解决方案六:
原来我用jmail,在本机上可以发,可是部署到目标计算机上时,就发不出,有人说目标计算机要安装jmail,可以我的安装了jmail也不行,不知道怎么搞,
解决方案七:
还有jmail,接收附件怎么搞?
解决方案八:
不是程序问题/你换个Email,可以去sina申请一个
解决方案九:
/*********************************文件名:SendEmail.cs*copyright(C)2007-2008星星*文件编号:01*创建人:星星*日期:2007-05-31*修改人:星星*日期:2007-05-31*描述:发送Email的类*********************************/namespaceSendMail{usingSystem;usingSystem.Net;usingSystem.Net.Mail;usingSystem.Net.Configuration;usingSystem.Web.Configuration;///<summary>///可以发送多种邮件///gmail的smtp采用了ssl连接:(aspnetxm@gmail.com,jsp.china@gmail.com)///OutgoingMail(SMTP)Server-requiresTLS:smtp.gmail.com(useauthentication)///UseAuthentication:Yes///UseSTARTTLS:Yes(someclientscallthisSSL)///Port:465or587,25///其他的port设为<0则使用默认的UseSTARTTLS:no///</summary>publicclassEMail{privatestringm_Host;//smtp.gmail.comprivateintm_Port,m_Encoding;//端口,编码privateboolm_EnableSsl,m_IsBodyHtml,m_defaultCredentials;//加密,HTMl格式,身份验证privatestringm_SmtpUserName,m_SmtpUserPassword,m_FromMail;///<summary>///用于web.config中已经配置好邮件帐号///</summary>publicEMail(){this.m_EnableSsl=false;this.m_IsBodyHtml=false;this.m_Encoding=936;//从web.config读取邮件配置System.Configuration.Configurationconfig=WebConfigurationManager.OpenWebConfiguration("~/");MailSettingsSectionGroupmailSettings=(MailSettingsSectionGroup)config.GetSectionGroup("system.net/mailSettings");this.m_SmtpUserName=mailSettings.Smtp.Network.UserName;this.m_SmtpUserPassword=mailSettings.Smtp.Network.Password;this.m_FromMail=mailSettings.Smtp.From;this.m_defaultCredentials=mailSettings.Smtp.Network.DefaultCredentials;}///<summary>///直接设置邮件帐号///</summary>///<paramname="Port">0为默认设置</param>publicEMail(stringSmtpUserName,stringSmtpUserPassword,stringHost,intPort,boolDefaultCredentials){this.m_Host=Host;this.m_Port=Port;this.m_Encoding=936;this.m_EnableSsl=false;this.m_IsBodyHtml=false;this.m_EnableSsl=false;this.m_defaultCredentials=DefaultCredentials;this.m_SmtpUserName=SmtpUserName;this.m_SmtpUserPassword=SmtpUserPassword;}//是否以HTML格式发送publicboolIsBodyHtml{set{this.m_IsBodyHtml=value;}get{returnthis.m_IsBodyHtml;}}//编码方式publicintEncoding{set{this.m_Encoding=value;}get{returnthis.m_Encoding;}}//是否加密publicboolEnableSsl{set{this.m_EnableSsl=value;}get{returnthis.m_EnableSsl;}}///<summary>///直接设置邮件帐号的发送方法return:true,false///</summary>///<paramname="CC,Bcc,FileName">可以为null</param>publicboolSend(stringFrom,stringTo,stringSubject,stringBody,string[]CC,string[]Bcc,stringFileName){//CreateMailMessageMailMessagemailMessage=newMailMessage(From,To,Subject,Body);mailMessage.IsBodyHtml=this.m_IsBodyHtml;//BodyisHtmlmailMessage.SubjectEncoding=System.Text.Encoding.GetEncoding(this.m_Encoding);//MailSubjectEncodingmailMessage.BodyEncoding=System.Text.Encoding.GetEncoding(this.m_Encoding);//MailBodyEncodingif(!String.IsNullOrEmpty(FileName)){//addaccessoriesmailMessage.Attachments.Add(newAttachment(FileName));}if(CC!=null&&CC.Length>0){foreach(stringccAddressinCC){mailMessage.CC.Add(newMailAddress(ccAddress));}}if(Bcc!=null&&Bcc.Length>0){foreach(stringbccAddressinBcc){mailMessage.Bcc.Add(bccAddress);}}//SendEmailSmtpClientsmtpClient=newSmtpClient(this.m_Host);if(this.m_Port>0)smtpClient.Port=this.m_Port;smtpClient.EnableSsl=this.m_EnableSsl;try{if(this.m_defaultCredentials)//要身份验证smtpClient.Credentials=newNetworkCredential(this.m_SmtpUserName,this.m_SmtpUserPassword);smtpClient.Send(mailMessage);returntrue;}catch{returnfalse;}}///<summary>///用于web.config中已经配置好邮件帐号的发送方法return:true,false///</summary>///<paramname="CC,Bcc,FileName">可以为null</param>publicboolSend(stringTo,stringSubject,stringBody,string[]CC,string[]Bcc,stringFileName){//CreateMailMessageMailMessagemailMessage=newMailMessage(m_FromMail,To,Subject,Body);mailMessage.IsBodyHtml=this.m_IsBodyHtml;//BodyisHtmlmailMessage.SubjectEncoding=System.Text.Encoding.GetEncoding(this.m_Encoding);//MailSubjectEncodingmailMessage.BodyEncoding=System.Text.Encoding.GetEncoding(this.m_Encoding);//MailBodyEncodingif(!String.IsNullOrEmpty(FileName)){//addaccessoriesmailMessage.Attachments.Add(newAttachment(FileName));}if(CC!=null&&CC.Length>0){foreach(stringccAddressinCC){mailMessage.CC.Add(newMailAddress(ccAddress));}}if(Bcc!=null&&Bcc.Length>0){foreach(stringbccAddressinBcc){mailMessage.Bcc.Add(bccAddress);}}//SendEmailSmtpClientsmtpClient=newSmtpClient(this.m_Host);smtpClient.EnableSsl=this.m_EnableSsl;try{if(this.m_defaultCredentials)//要身份验证smtpClient.Credentials=newNetworkCredential(this.m_SmtpUserName,this.m_SmtpUserPassword);smtpClient.Send(mailMessage);returntrue;}catch{returnfalse;}}}}
解决方案十:
是你发信的邮箱有问题
解决方案十一:
usingSystem;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSendMail;publicpartialclassSendEmail:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidBtn_Click(objectsender,EventArgse){stringstrEmailAdr="myairen100@126.com",strShow;/*//邮件直接配置EMailmail=newEMail("aspnetxm","aspnet1212","smtp.gmail.com",25,true);boolbResult=mail.Send("aspnetxm@gmail.com",strEmailAdr,"测试Gmail","ok",null,null,null);*///邮件在web.config中配置EMailmail=newEMail();mail.EnableSsl=true;boolbResult=mail.Send(strEmailAdr,"测试Gmail","ok",null,null,null);if(bResult)strShow="邮件发送成功。";elsestrShow="邮件发送失败";Response.Write(strShow);}}几天前刚用过sina,gmail都可以
解决方案十二:
关掉杀毒软件!!!,我遇到过"卖咖啡"里默认的禁止大量发送邮件,我禁用就好了
解决方案十三:
SmtpClient类UseDefaultCredentials=false;
解决方案十四:
看来等我老了还不没有发过一封邮件,呵呵1
解决方案十五:
我说一句,我用net2.0试验过,新申请的邮箱不管是sina还是sohu,126,163好像都发送不成功,网关拒绝访问,用以前(也就是老早申请的邮箱)就没有问题!这也让我郁闷一会!
解决方案:
up
解决方案:
我的屡试不爽,http://www.cnblogs.com/ustbwuyi/archive/2007/05/28/762581.html
解决方案:
小弟也遇到了,VS2005passwordrecovery控件就是找通过邮件回密码那块,我用163sina126的都不行。有没有仁兄解决了的??
解决方案:
可能是你的smtp服务器的问题又时候会拒收有时需要验证或者加密的
解决方案:
smtp服务器是需要验证的,这样你的发送邮件不能用jmail,只能用net2。0有个类可以自己写
解决方案:
同意LS,我求职的时候,顺手用asp.net搞了一个群发邮件的东东寄简历,也是用的asp.net2.0的控件,那时我也才开始学asp.net,不过效果不佳,好象发了一百封,才有一家有回信.呵呵
解决方案:
估计跟我遇到的问题一样http://www.lemongtree.com/Archives/SmtpClient.aspx
解决方案:
还是jmail用起来简单欢迎访问我的视频搜索引擎:http://www.vzhangmen.com
解决方案:
去这里看看http://systemnetmail.com/
解决方案:
如果程序对了,发不出,可能是开了防毒软件,防火墙的问题。
解决方案:
up
解决方案:
邮件发不出有很多原因,像邮件服务器不对,防火墙挡住了,程序不对,邮件服务器地址不对!很多原因,但不能一直想到程序不对!那不是解决的方法!所以你搞一看时间不为过,像你这种方法可以搞两年的!嘻嘻!
解决方案:
如果是163的话你得把邮箱升级到3G的
解决方案:
163的好像現在是不行了,申請個sina的吧。
解决方案:
学习
解决方案:
126,163的都可以,就是像14楼说的,新申请帐号的不行,不知道为什么