【发布时间】:2013-12-31 19:12:12
【问题描述】:
我正在尝试让我的家庭网络上的系统通过电子邮件发送图像 (.png)。我得到的最接近的是:
uuencode -m snapshot.png snapshot.png | mailx -r "sending@myremoteserver.net" -s "Snapshot" -S smtp=smtp.myremoteserver.net me@myremoteserver.net
哪个邮件给我,但输出还有一些不足之处......
begin-base64 755 snapshot.png
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA
(well, you get the idea...)
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
====
问题是,我必须通过 smtp.myremoteserver.net 发送。但是我的邮件客户端没有对图像文件进行解码(我在 Thunderbird 和各种网络邮件界面中尝试过,结果相同)。有没有更好的实际工作方式?
更新:只是为了好玩,我运行了这个:
uuencode -m snapshot.png snapshot.png > coded.txt
解码后,我得到了一个乱七八糟的、看不见的烂摊子。所以问题肯定出在uuencoding上。
【问题讨论】:
-
如您所见,文件数据现在保存为“uuencode”d 转换。您必须使用
uudecode snapshot.png将其恢复为真正的 png 文件(您可能知道)。根据您的操作系统,可能有一个工具可以为您处理部分或全部转换,否则您将需要一个丑陋的手动过程(可能是可编写脚本的)。祝你好运。 -
不幸的是,当我真正正确发送时,接收端将无法使用uudecode。因此,我认为我需要一个不同的解决方案。
-
我没有收到你的更新。
coded.txt文件中不应该有任何内容,而且我的 linux 没有安装 uuencode :-(。但正如你所说,如果你的最终系统不支持uuencoded 文件,那么在这里寻找sendmail和mimetype解决方案。祝你好运。
标签: bash email attachment mailx