JavaScript:创建MIME消息

时间:2013-06-11 18:35:54

标签: javascript message mime

我有用户界面来发送消息。用户输入主题,邮件正文,发送电子邮件,附加一些文件。提交后我需要将消息作为MIME消息发送,如下所示:

From: John Doe <example@example.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
        boundary="XXXXboundary text"

This is a multipart message in MIME format.

--XXXXboundary text 
Content-Type: text/plain

this is the body text

--XXXXboundary text 
Content-Type: text/plain;
Content-Disposition: attachment;
        filename="test.txt"

this is the attachment text

--XXXXboundary text--

如何将用户输入的信息收集为MIME消息?我搜索使用JavaScript在客户端构建MIME消息但没有成功。如果存在附件,我需要将它们转换为base64字符串,然后在MIME消息中发送。感谢。

2 个答案:

答案 0 :(得分:7)

我已经创建了一个javascript插件来在javascript中创建MIME消息。 https://github.com/ikr0m/mime-js。使用必要的属性创建mail对象并调用createMimeMessage函数。它将准备好的MIME消息作为javascript字符串返回。

var mail = {  
    "to": "email1@example.com, email2@example.com",
    "subject": "Today is rainy",
    "fromName": "John Smith",
    "from": "john.smith@mail.com",
    "body": "Sample body text",
    "cids": [],
    "attaches" : []
}
var mimeMessage = createMimeMessage(mail);
console.log(mimeMessage);    

我希望它有所帮助。

答案 1 :(得分:0)

我认为您应该关注Node.js模块的世界......由于没有提供SMTP支持,您将无法从浏览器客户端实际发送MIME邮件。但您可以通过XHR将预先格式化的消息发布到Web服务器,然后让Web服务器实际发送消息。

看起来它可以做你需要的东西:
https://www.npmjs.org/package/mailcomposer

即。您可以将MIME消息准备为字符串

此工具可能有助于在浏览器中使用Node.js模块:
http://browserify.org/