我曾经和电子邮件附件问题,现在可以通过脚本通过电子邮件发送附件。
收到电子邮件后,我双击附件,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
附件功能。