unix中html格式邮件中的附件 1。(cat mytest.html;uuencode“myfile.xls”“myfile.xls”)| mail-s“$(“这是主题\n内容类型:text/html”)test@yahoo.com 2.(uuencode“myfile.xls”“myfile.xls”)| mail-s“$(“这是主题\n内容类型:text/html”)test@yahoo.com

unix中html格式邮件中的附件 1。(cat mytest.html;uuencode“myfile.xls”“myfile.xls”)| mail-s“$(“这是主题\n内容类型:text/html”)test@yahoo.com 2.(uuencode“myfile.xls”“myfile.xls”)| mail-s“$(“这是主题\n内容类型:text/html”)test@yahoo.com,unix,Unix,当我使用上述两种方法时,输出是html格式的。但是我没有得到任何附件?(其中mytest.html包含html部分) 注意:我得到了一些分散的字符来代替附件 请让我离开这里。是一个旧标准,用于将二进制数据编码为ASCII文本,以包含在邮件和新闻文章中,但它已经过时,十多年来没有被普遍使用。可能没有剩下的MUA仍然知道如何处理它,特别是在HTML邮件中 另外,您将内容类型头指定给邮件命令的-s参数的技巧是一个非常难看的技巧。我很惊讶它居然能工作!在任何情况下,它都无法包含至少一个其他必需的头:MI

当我使用上述两种方法时,输出是html格式的。但是我没有得到任何附件?(其中mytest.html包含html部分)

注意:我得到了一些分散的字符来代替附件

请让我离开这里。

是一个旧标准,用于将二进制数据编码为ASCII文本,以包含在邮件和新闻文章中,但它已经过时,十多年来没有被普遍使用。可能没有剩下的MUA仍然知道如何处理它,特别是在HTML邮件中

另外,您将
内容类型
头指定给
邮件
命令的
-s
参数的技巧是一个非常难看的技巧。我很惊讶它居然能工作!在任何情况下,它都无法包含至少一个其他必需的头:
MIME版本:1.0

您需要构建一个多部分消息,其中一部分是HTML文档,另一部分是附件(如果是二进制数据,则可能是base64编码的)

因为MIME要求您选择一个多部分边界,格式化邮件正文以使用该边界划分多个部分,为每个多部分子部分生成标题(包括每个部分自己的
内容类型
,以及可能的
内容传输编码
内容处置
或其他),并对每个部分进行适当编码,您最好使用为您构建MIME消息的工具包,而不是尝试通过
mail
命令手动完成。如果您在shell中工作,您可以尝试,但这几乎和手动操作一样难看,因此我建议使用类似Perl的MIME工具

1. (cat mytest.html;uuencode "myfile.xls" "myfile.xls")|mail -s "$("This is Subject\nContent-Type: text/html")" test@yahoo.com

2. (uuencode "myfile.xls" "myfile.xls")|mail -s "$("This is Subject\nContent-Type: text/html")" test@yahoo.com < mytest.html