首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Microsoft Word文件在包含图像时损坏,请通过unix的sendmail库发送

Microsoft Word文件在包含图像时损坏,请通过unix的sendmail库发送
EN

Stack Overflow用户
提问于 2017-12-05 16:05:49
回答 1查看 129关注 0票数 0

我正在使用unix的sendmail库发送邮件。我正在发送一个附件的邮件,这是一个(Microsoft ) .docx文件。这个单词文件中有图像。问题是,接收方无法打开包含图像的邮件附件( word (.docx文件))。打开Microsoft文件会导致错误“文件已损坏”.

如果单词文件中只有文本,则接收方能够打开该文件。只有当word文件中有图像,并且该word文件作为邮件附件发送时,才会出现问题。

文件内容如下所示。这是一个sh文件,并使用linux的sendmail来执行这个sh文件来发送邮件。

代码语言:javascript
运行
复制
echo -e MIME-Version: 1.0;
echo -e 'Content-Type: multipart/mixed; boundary="CONTENT_BOUNDARY"';
echo ;
echo -e --CONTENT_BOUNDARY;
echo -e 'Content-Type: text/html; charset=utf-8';
echo ;
echo -e "  ";
echo ;
echo -e --CONTENT_BOUNDARY;
echo -e 'Content-Type: text/plain; charset=utf-8';
echo ;
echo -e "Hello World!";
echo ;
echo -e --CONTENT_BOUNDARY;
echo -e 'Content-Type: text/html; charset=utf-8';
echo ;
echo -e "<b>Hello</b> <i>World</i>!";
echo ;
echo -e --CONTENT_BOUNDARY;
echo -e 'Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document; name=Editor-issue-6-30-2016.docx';
echo -e 'Content-Transfer-Encoding: base64';
echo ;
echo -e PK

当附加的word文件在microsoft中打开时,它的图像是(与原始图像不一样)

当我试图使用其他邮件发送api (如node.js中的nodemailer )发送相同的附件时,接收方会正确地打开该附件。

任何帮助都非常感谢。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-12-05 16:12:09

从这里:Using sendmail for HTML body and binary attachment

试着改变

代码语言:javascript
运行
复制
'Content-Transfer-Encoding: base64';

代码语言:javascript
运行
复制
'Content-Transfer-Encoding: uuencode';

再加上

代码语言:javascript
运行
复制
uuencode 'Editor-issue-6-30-2016.docx' $(basename 'Editor-issue-6-30-2016.docx')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47657875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档