我从网上下了个邮件系统,调试通过,但是配置好服务之后,在局域网中的客户机上发送邮件带附件不成功。附件很小。如果在配置的服务器上发送是可以成功的,请各位大侠指点??
解决方案 »
- 详解“MVVM”模式实例,以及对应疑问
- 关于增加worksheet的问题
- 还是接口的问题
- 关于dropdownlist的问题
- if 语句问题
- 让单元格变色
- 在DataGrid中动态添加一ButtonColumn 列后,为什么在 ItemCommand 事件中无法捕捉它的响应?
- 高分求好的视频会议软件
- 为什么我手工代码设置的数据源无效呢?Crystal Report 自己到数据库直接取数据了?
- 新手问一个c#中的引用问题,谢谢啦
- C# windows 捕获键盘消息??????????????????
- C# 需要引用user32.dll gdi.dll kernel.dll 如何得知 其中函数的完整签名和使用方法呢?
{
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");
}
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------未能找到文件“C:\database.rar”。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: 未能找到文件“C:\database.rar”。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。