我是.net新手,在学习asp.net,执行示例代码出错了,本地计算机,安装了.net2.0 ,不知道是设置的问题,还是程序的问题?
收件人我输入的是:[email protected]
发件人我输入的是:[email protected]
邮件主题:ttt
邮件内容:test
代码如下: 
<% @ Page Language="C#" %> 
<% @ Import Namespace="System.Web.Mail" %> 
<Script Language="C#" Runat="Server"> 
public void Mail_Send(Object src,EventArgs e) 

//分别取得邮件的发信人、收信人、主题以及邮件主体等信息 
string strFrom = tbFrom.Text; 
string strTo = tbTo.Text; 
string strSubject = tbSubject.Text; 
string strMsgText = tbMsgText.Text; 
try 

SmtpMail.SmtpServer = "smtp.163.com"; 
SmtpMail.Send(strFrom,strTo,strSubject,strMsgText); 
//清除Label控件中的内容 
tbTo.Text = ""; 
tbSubject.Text = ""; 
tbMsgText.Text = ""; 
lblShowMsg.Text = "发送至<b>"+strTo+"</b>邮件,发送成功"; 

catch(Exception ee) 

lblShowMsg.Text = "发送邮件失败:"+ee.ToString(); 
} } 
</script> 
<html> 
<head> 
<title></title> 
</head> 
<body> 
<b>演示发送邮件</b> 
<form runat="server"> 
<table border=1> 
<tr><td colspan="2"><b>最简单的邮件发送</b></td></tr> 
<tr><td colspan="2"><asp:Label id="lblShowMsg" ForeColor="red" runat="server" /></td></tr> 
<tr><td>收件人:</td><td><asp:TextBox id="tbTo" runat="server" /></td></tr> 
<tr><td>发件人:</td><td><asp:TextBox id="tbFrom" runat="server" /></td></tr> 
<tr><td>邮件主题:</td><td><asp:TextBox id="tbSubject" runat="server" /></td></tr> 
<tr><td colspan="2">邮件内容:</td></tr> 
<tr><td colspan="2"><asp:TextBox TextMode="MultiLine" Rows="10" Columns="50" id="tbMsgText" runat="server" /></td></tr> 
<tr><td><asp:Button id="btnSend" Text="发送" OnClick="Mail_Send" runat="server" /></td></tr> 
</table> 
</form> 
</body> 
</html>错误提示:
发送邮件失败:System.Web.HttpException: 服务器拒绝了发件人地址。服务器响应为: 553 authentication is required,smtp6,ENGowLDLou6TINpHQvIaBg==.25237S2 1205477523 ---> System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Runtime.InteropServices.COMException (0x8004020E): 服务器拒绝了发件人地址。服务器响应为: 553 authentication is required,smtp6,ENGowLDLou6TINpHQvIaBg==.25237S2 1205477523 --- 内部异常堆栈跟踪的结尾 --- 在 System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) 在 System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) 在 System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args) --- 内部异常堆栈跟踪的结尾 --- 在 System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(Object obj, String methodName, Object[] args) 在 System.Web.Mail.SmtpMail.CdoSysHelper.Send(MailMessage message) 在 System.Web.Mail.SmtpMail.CdoSysHelper.Send(String from, String to, String subject, String messageText) 在 System.Web.Mail.SmtpMail.Send(String from, String to, String subject, String messageText) 在 ASP.mail1_aspx.Mail_Send(Object src, EventArgs e) 位置 d:\makeweb\net\mail1.aspx:行号 14

解决方案 »

  1.   

    不是新邮箱,都用2年了,这段代码是网上找的,也出错?是不是要设置什么?安装.net2.0就直接可以用代码发邮件吗?
    <% @ Page Language="C#" %>
    <% @ Import Namespace="System.Web.Mail" %>
    <Script Language="C#" Runat="Server">
    private void Page_Load(object sender, System.EventArgs e) 

           MailMessage mail = new MailMessage(); 
           mail.To = "[email protected]"; 
           mail.From = "[email protected]"; 
           mail.Subject = "testemail"; 
           mail.Body = "neirong"; 
           SmtpMail.SmtpServer = "mail.163.com";
           SmtpMail.Send( mail ); 

    </script>
      

  2.   

    是否需要设置本地的smtp服务器 ?
      

  3.   

    不是说.net发邮件容易吗,撤他妈蛋!
      

  4.   

    LZ你看下这个吧
    http://blog.csdn.net/slimboy123/archive/2008/03/06/2153254.aspx
      

  5.   

    现在很多邮件系统发信也是要认证的,否则太容易被别人利用乱发垃圾邮件。参考以下代码试试看            SmtpClient client = new SmtpClient(_SMTPServer); //你的smtp
                client.UseDefaultCredentials = false;
                client.Credentials = new System.Net.NetworkCredential(_UserName,_Password); //收信时的用户名和密码
                client.DeliveryMethod = SmtpDeliveryMethod.Network;