我有用户界面来发送消息。用户输入主题,邮件正文,发送电子邮件,附加一些文件。提交后我需要将消息作为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消息中发送。感谢。
答案 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/