通过电子邮件发送的 Excel 工作簿在附加后出现损坏

通过电子邮件发送的 Excel 工作簿在附加后出现损坏

我曾经和电子邮件附件问题,现在可以通过脚本通过电子邮件发送附件。

收到电子邮件后,我双击附件,Excel 2016 打开,并显示一个对话框:我们发现“attachment.xlsx”中的部分内容存在问题。您是否希望我们尽力恢复?如果您信任此工作簿的来源,请单击“是”。我点击了“是的,它有效”。如果我通过 Samba 从同一台服务器打开原始文件,它就可以正常工作。只有在通过电子邮件发送后,它才显得不完美。

我该怎么做才能摆脱这个对话框,以便收件人不会经常看到它?我计划每周运行一次脚本,每周使用一个新的 Excel 文件。


运行的命令:(uuencode /path/to/file.xlsx file.xlsx; echo $BODY) | mail -r [email protected] -s "Subject Line" [email protected]

通过电子邮件发送后,文件大小增加了 1 个字节。在本例中,通过电子邮件发送后,文件大小变为 18738 个字节。两个文件的 SHA256 哈希值不同。

答案1

uuencode肯定会更改文件。您需要uudecode在另一端取回原始文件。

为了向你自己证明这一点,请运行以下命令:

uuencode /path/to/file.xlsx file.xlsx > testfile.xlsx

您获得有效的 Excel 文件了吗?

现在:

uudecode /path/to/testfile.xlsx testfile.xlsx > testfile2.xlsx

testfile2.xlsx 是有效的 Excel 文件吗?

解决方案: 您可以在另一端解码文件,也可以使用现代邮件附件功能:您可以将heirloom-mailx包添加到 Debian 以添加-a附件功能。

相关内容