【发布时间】:2012-08-17 07:47:02
【问题描述】:
我正在使用 iTextSharp 为报告创建 PDF 并作为附件 () 发送。 Pdf 已成功创建并且可以使用 Adobe Reader 在本地打开,但在发送到邮件后无法打开并给出错误: “adobe reader 无法打开 pdf,因为它不是受支持的文件类型或文件已损坏”
附件中的 pdf 文件大小也为零。 我认为它在两者之间被破坏了。可能是什么问题?
【问题讨论】:
-
我想到了两件事:您的创建应用程序在发送所有内容之前退出,或者在发送之前删除了 temp-pdf 文件。或者病毒扫描程序删除了客户端的附件。您应该先检查发件箱。
-
是的,eventviewer 显示赛门铁克有时会阻止远程调试,但并非每次都如此。此外,pdf 被创建并存在于我们选择用于邮寄和 .xls 类型附件的位置,.csv 交付时不会损坏,而且 pdf 文件作为附件发送但已损坏。我觉得病毒扫描程序没有删除附件,因为文件(xls、csv 和 pdf)已交付,只有 pdf 已损坏。
-
@Pranav - 在 OP 中,您说“附件中的 pdf 文件大小也为零”。但是在您上面的评论中,您的暗示有所不同。 PDF 附件是 1. 零字节,还是 2. 大于零字节,但已损坏?
-
@kuujinbo,是的,附件中的文件大小为零,从电子邮件下载后用 adobe reader 打开时说文件已损坏。问题不在于 iTextSharp,因为文件生成没有问题。安装在我同事的 m/c 上时,相同的窗口服务没有问题,并且发送了带有正确报告的电子邮件。 :( 我无法在我的机器上调试。此外,我有兴趣找到阻止服务从我的机器发送电子邮件附件的原因。
-
@Pranav - 我问文件附件是否为零字节的原因是因为如果这是真的,你怎么知道问题是不是的 iTextSharp?不是说它是或不是,只是如果一个零字节 PDF is 正在发送,@ralf.w 所说的 可能 是真的 - 病毒扫描程序或其他客户端端软件可能会导致问题。
标签: pdf itextsharp sendmail