我从网上下了个邮件系统,调试通过,但是配置好服务之后,在局域网中的客户机上发送邮件带附件不成功。附件很小。如果在配置的服务器上发送是可以成功的,请各位大侠指点??

解决方案 »

  1.   

     protected void NewBtn_Click(object sender, EventArgs e)
        {
            int nContain = 0;
         
            ///添加发件人地址
            string from = SessionInclude.Id + "@oa.com";//来源
            MailMessage mailMsg = new MailMessage();
            mailMsg.From = new MailAddress(from);
            nContain += mailMsg.From.Address.Length;        ///添加收件人地址
            string split = ",";
            string[] toList = To.Text.Trim().Split(split.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < toList.Length; i++)
            {
                //mailMsg.To.Add(toList[i].Trim() + "@oa.com");
            }
            nContain += To.Text.Length;        ///添加抄送地址;
            string[] ccList = CC.Text.Trim().Split(split.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < ccList.Length; i++)
            {
                if (ccList[i].Trim().Length > 0)
                {
                    //mailMsg.CC.Add(ccList[i].Trim() + "@oa.com");
                }
            }
            nContain += CC.Text.Length;        ///添加邮件主题
            mailMsg.Subject = Title.Text.Trim();
            mailMsg.SubjectEncoding = Encoding.UTF8;
            nContain += mailMsg.Subject.Length;        ///添加邮件内容
            mailMsg.Body = Body.Text;
            mailMsg.BodyEncoding = Encoding.UTF8;
            mailMsg.IsBodyHtml = HtmlCB.Checked;
            nContain += mailMsg.Body.Length;        ///添加邮件附件
            HttpFileCollection fileList = HttpContext.Current.Request.Files;
            for (int i = 0; i < fileList.Count; i++)
            {   ///添加单个附件
                HttpPostedFile file = fileList[i];
               
                if (file.FileName.Length <= 0 || file.ContentLength <= 0)
                {
                    break;
                }
                Attachment attachment = new Attachment(file.FileName);
                mailMsg.Attachments.Add(attachment);
                nContain += file.ContentLength;
            }        if (mailMsg.IsBodyHtml == true)
            {
                nContain += 100;
            }        try
            {   ///发送邮件
                IMail mail = new Mail();
                // mail.SenderMail(mailMsg);//--------------------------------------------------真正的发邮件            ///保存发送的邮件
                int nMailID = mail.SaveAsMail(mailMsg.Subject, mailMsg.Body, SessionInclude.SessionId,
                    To.Text.Trim().Replace(",", ""), CC.Text.Trim().Replace(",", ""), mailMsg.IsBodyHtml,
                    nContain, mailMsg.Attachments.Count > 0 ? true : false);            if (nMailID > 0)
                {   ///保存发送邮件的附件
                    for (int i = 0; i < fileList.Count; i++)
                    {   ///添加单个附件
                        HttpPostedFile file = fileList[i];
                        if (file.FileName.Length <= 0 || file.ContentLength <= 0)
                        {
                            break;
                        }
                        ///保存附件到硬盘中
                        file.SaveAs(MapPath("MailAttachments/" + Path.GetFileName(file.FileName)));
                        //保存发送邮件的附件
                        mail.SaveAsMailAttachment(
                        Path.GetFileName(file.FileName),
                        "MailAttachments/" + Path.GetFileName(file.FileName),
                        file.ContentType,
                        file.ContentLength,
                        nMailID - 1);//发送的邮件附件
                        mail.SaveAsMailAttachment(
                        Path.GetFileName(file.FileName),
                        "MailAttachments/" + Path.GetFileName(file.FileName),
                        file.ContentType,
                        file.ContentLength,
                        nMailID);//发送邮件附件保存副本
                    }
                }
            }
            catch (Exception ex)
            {   ///跳转到异常错误处理页面
                Response.Redirect("ErrorPage.aspx?ErrorMsg=" + ex.Message.Replace("<br>", "").Replace("\n", "")
                    + "&ErrorUrl=" + Request.Url.ToString().Replace("<br>", "").Replace("\n", ""));
            }        //Response.Redirect("MailDesktop.aspx");
        }
      

  2.   

    大侠们,看一下问题出在哪里?提示信息?
    “/”应用程序中的服务器错误。
    --------------------------------------------------------------------------------未能找到文件“C:\database.rar”。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: 未能找到文件“C:\database.rar”。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。