小编Ler*_*roy的帖子

将XML文件作为附件通过电子邮件发送时,会对Content-Transfer-Encoding感到困惑

我有一个UTF-8编码的XML文件,通过电子邮件发送附件.当电子邮件收件人打开电子邮件并保存附件时,XML文件不再是UTF-8(而是报告ANSI编码).在这种情况下,收件人使用Microsoft Outlook,如果它很重要.

我在一个我不能依赖合适的MIME库的可用性的环境中编程,所以我需要了解我的错误.

在通过电子邮件发送XML文件之前,在服务器上创建它之后,我可以看到使用Linux文件命令它是一个UTF-8文件.独立于这一点,XML也有一个版本头<?xml version="1.0" encoding="UTF-8"?>(这不是我的问题真的很重要,但我包括它的完整性).我很确定我的代码通过电子邮件发送文件是问题所在,但我不确定是否采用"正确"方式.

我发送的标题是:

"Mime-Version" "1.0"
"Content-Type" "multipart/mixed; boundary="__==NAHDHDH2.28ABSDJxjhkjhsdkjhd___"\n\n"
Run Code Online (Sandbox Code Playgroud)

电子邮件的正文是:

--__==NAHDHDH2.28ABSDJxjhkjhsdkjhd___\n
Content-Type: text/plain; charset="utf-8"; format=flowed\n
Content-Transfer-Encoding: 7bit\n\n
Please find attached the data file generated 
--__==NAHDHDH2.28ABSDJxjhkjhsdkjhd___\n
Content-Type: text/plain; charset="utf-8"\n
Content-Disposition: attachment; filename="My_File_Name"\n\n
XML FILE CONTENTS GO HERE
--__==NAHDHDH2.28ABSDJxjhkjhsdkjhd___--\n
Run Code Online (Sandbox Code Playgroud)

问题:

  • 我应该使用quoted-printable,8bit还是其他类型的 Content-Transfer-Encoding?我已经尝试了所有这些,但它没有改变结果.
  • Content-Type: text/plain对于XML附件是否正确?
  • 还有其他建议吗?

xml email encoding mime utf-8

6
推荐指数
1
解决办法
2951
查看次数

标签 统计

email ×1

encoding ×1

mime ×1

utf-8 ×1

xml ×1