.NET 4.0失败发送附件大于3MB的电子邮件时

时间:2010-05-10 13:57:51

标签: .net .net-4.0 smtpclient

我最近在将我的.net框架从3.5升级到4.0后遇到了问题:

  

System.Net.Mail.SmtpException:发送邮件失败。 ---> System.IndexOutOfRangeException:索引超出了数组的范围。在System.Net.Base64Stream.EncodeBytes(Byte [] buffer,Int32 offset,Int32 count,Boolean dontDeferFinalBytes,Boolean shouldAppendSpaceToCRLF)System.Net.Base64Stream.Write(Byte [] buffer,Int32 offset,Int32 count)at System.Net System.Net.Mail.SmtpClient上的System.Net.Mail.Message.Send(BaseWriter writer,Boolean sendEnvelope)上的System.Net.Mime.MimeMultiPart.Send(BaseWriter writer)中的.Mime.MimePart.Send(BaseWriter writer)。发送(MailMessage消息)---内部异常堆栈跟踪结束---

我在这里阅读了这个连接错误列表:http://connect.microsoft.com/VisualStudio/feedback/details/544562/cannot-send-e-mails-with-large-attachments-system-net-mail-smtpclient-system-net-mail-mailmessage

如果有人关心这个问题,请在Connect上投票,以便更快修复。

2 个答案:

答案 0 :(得分:29)

该错误已修补:https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30226

  

标题:KB2183292

     

发布日期:2010年7月21日

     

尺寸:8.58 MB

     

版本:修补程序

     

类别:构建

     

描述 QFE:System.Net.Mail - 如果文件附件是>,则SmtpClient类会抛出异常。超过3MB

答案 1 :(得分:3)

我在Windows 2008 R2中安装了http://support.microsoft.com/kb/2468871的更新。计划在Windows 2003 R2 SP2上安装它。更新安装没有太多延迟,并且无需重启即可正常工作。

它取代了 2183292 (http://support.microsoft.com/kb/2183292/) FIX:“发送邮件失败”错误消息通过使用基于.NET Framework 4的应用程序发送电子邮件时,如果电子邮件附件大于3 MB

2413613 (http://support.microsoft.com/kb/2413613/) 运行基于.NET Framework 4的Windows Presentation Foundation应用程序时,快捷菜单可能会显示在远离鼠标指针的位置

2298853 (http://support.microsoft.com/kb/2298853/) FIX:Visual Studio 2010错误:“错误1错误MSB4014:由于内部故障,构建意外停止”

2461678 (http://support.microsoft.com/kb/2461678/) 如果控件中数据绑定的源对象是在控件的名称范围之外定义的元素,则基于.NET Framework 4的WPF应用程序崩溃

2484841 (http://support.microsoft.com/kb/2484841/[anySimpleType]/)  FIX:如果右键单击控件以打开弹出控件,基于.NET Framework 4.0的WPF应用程序可能会停止响应

希望这有帮助。

谢谢, RAGHAV