#region SendMail 自动发送邮件
/// <summary>
/// 
/// </summary>
/// <param name="ls_Attach">邮件附件</param>
/// <param name="ls_Cc">抄送副本</param>
/// <param name="ls_Body">邮件正文</param>
/// <param name="ls_From">发件人的地址</param>
/// <param name="ls_Subject">电子邮件主题</param>
/// <param name="ls_To">收件人地址</param>
public int SendMail(System.Web.UI.HtmlControls.HtmlInputFile HIF,string ls_Cc,string ls_Body,string ls_From,string ls_Subject,string ls_To)
{
// System.Web.Mail.MailAttachment mailAttach=new MailAttachment(ls_Attach,System.Web.Mail.MailEncoding.Base64);//创建上传附件的对象 System.Web.Mail.MailMessage mailMessage=new MailMessage();//创建发送邮件的对象 mailMessage.Priority=System.Web.Mail.MailPriority.High;
mailMessage.BodyFormat=System.Web.Mail.MailFormat.Html;
mailMessage.BodyEncoding=System.Text.Encoding.ASCII;// mailMessage.Attachments.Add(mailAttach); //邦定发送附件的对象
mailMessage.Attachments.Add(new MailAttachment(HIF.PostedFile.FileName)); //添加附件
mailMessage.Cc=ls_Cc; mailMessage.Body=ls_Body; //电子邮件正文

mailMessage.From=ls_From; //发件人的邮件地址
mailMessage.To=ls_To; //收件人地址
mailMessage.Subject=ls_Subject; //发件人的标题
try
{
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
System.Web.Mail.SmtpMail.Send(mailMessage);
return 1;
}
catch
{
return 0;
}
}
#endregion//-----------------------------------------------------------------------开始调用
i=michael.SendMail(File1,"","hello michael!","[email protected]","hello!","[email protected]");
Response.Write(i.ToString());
注:1)、michael是我写的一个类,里面封装了上面的发送邮件的方法;
    2)、File1是我拉德一个File Fields控件,用来上传附件//--------------问题----------------
老是发送不成功,请问该如何解决?谢谢各位!

解决方案 »

  1.   

    System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";你本机装了邮件服务??请正确配置另:把try先去掉,调试程序还是早崩溃的好
      

  2.   

    已经把127.0.0.1改成smtp.tom.com了,但还是不行
    发送邮件后,能够返回1,即提示发送正确,但是实际上发送失败
    提示收件人地址格式有问题~~
      

  3.   

    服务器拒绝了发件人地址。服务器响应为: 553 You are not authorized to send mail as <MAIL FROM: <[email protected]>>, authentication is required
      

  4.   

    ..........
    添加
    mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
                mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "*******@126.com");
                mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "*******");http://blog.csdn.net/longronglin/archive/2007/04/07/1555814.aspxgoogle vs2003 发送邮件 验证
      

  5.   

    成功!多谢ofei(nop)赐教!原来是这样验证的!