把这句注释掉:
SmtpMail.SmtpServer = "smtp.163.com"smtpmail是通过调用windows2000的虚拟smtp服务器完成邮件发送的,虽然提供了SmtpMail.SmtpServer这样的属性,但是没有提供验证的相关属性,也就是只能通过不加验证的smtp服务器发送邮件,而现在为了避免垃圾邮件的泛滥,大部分邮件服务器都是用了验证,也就是说,你如果没有正确的身份,无法匿名发送邮件,而即使你的邮件服务器无需验证,也可能出现邮件无法送达的现象,因为很多pop3服务器不接受没有验证就发送的邮件
SmtpMail.SmtpServer = "smtp.163.com"smtpmail是通过调用windows2000的虚拟smtp服务器完成邮件发送的,虽然提供了SmtpMail.SmtpServer这样的属性,但是没有提供验证的相关属性,也就是只能通过不加验证的smtp服务器发送邮件,而现在为了避免垃圾邮件的泛滥,大部分邮件服务器都是用了验证,也就是说,你如果没有正确的身份,无法匿名发送邮件,而即使你的邮件服务器无需验证,也可能出现邮件无法送达的现象,因为很多pop3服务器不接受没有验证就发送的邮件
解决方案 »
- 关于利用JMail开发WEB邮件系统
- asp.net4.0中treeview重复点击节(不是连续)时,只触发一次selectednodechanged事件
- 求助:用javascript写的省市联动在fromview中为何无效?
- 网址编码和解码的问题
- Server.UrlEncode( Request.RawUrl ) )
- 关于文件下载的小问题
- 我想写一个web控件,从button继承,borderstyle=solid,borderwidth=1px,哪里错了?
- 如何选择radiolist某一个选项后弹出确认按钮,如果确认执行相应操作,如果取消则不做操作。
- 梅花雨日期控件问题
- 如何处理asp和asp.net问题
- 发邮件的小问题————————————
- 求救!!!!!!!怎样在web页面上修改远程服务器活动目录上的用户名和密码.
自己实现验证部份的代码
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", smtpUserName); mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", smtpUserPwd);
详情参看http://www.chinabs.net/aspnet/default.asp?infoid=50
CDO组件相对于先前介绍的SmtpMail对象功能更为丰富,并提供了一些SmtpMail类所没有提供的功能,如通过需要认证的SMTP服务器发送邮件等。public void CDOsendMail()
{
try
{
CDO.Message oMsg = new CDO.Message();
oMsg.From = "[email protected]";
oMsg.To = "[email protected]";
oMsg.Subject = this.TBsubject.Text.Trim();
oMsg.HTMLBody = "<html><body>"+this.TBbody.Text.Trim()+"</body></html>"; CDO.IConfiguration iConfg = oMsg.Configuration;
ADODB.Fields oFields = iConfg.Fields;
oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value=2;
oFields["http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value="[email protected]"; //sender mail
oFields["http://schemas.microsoft.com/cdo/configuration/smtpaccountname"].Value="[email protected]"; //email account
oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="username";
oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value="password";
oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;
//value=0 代表Anonymous验证方式(不需要验证)
//value=1 代表Basic验证方式(使用basic (clear-text) authentication.
//The configuration sendusername/sendpassword or postusername/postpassword fields are used to specify credentials.)
//Value=2 代表NTLM验证方式(Secure Password Authentication in Microsoft Outlook Express)
oFields["http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="pop3.163.com"; oFields.Update();
oMsg.BodyPart.Charset="gb2312";
oMsg.HTMLBodyPart.Charset="gb2312"; oMsg.Send();
oMsg = null;
}
catch (Exception e)
{
string strText=e.Message;
strText = strText.Replace("\r\n","\\r\\n");
Page.RegisterStartupScript("","<script langue=javascript>"+"alert('"+ strText +"');</script>");
}
}
email.To = "[email protected]"
email.From = "[email protected]"
email.Body = "MessageText"
email.Subject = "SubjectText"
email.BodyFormat = Web.Mail.MailFormat.Textemail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1")
'将以下三行中中的,第2个参数,设为你的smtp相应值,即可
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", "smtp.163.net")
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "smtpuser")
email.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password")System.Web.Mail.SmtpMail.Send(email)