Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:创建MIME消息_Javascript_Message_Mime - Fatal编程技术网

JavaScript:创建MIME消息

JavaScript:创建MIME消息,javascript,message,mime,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. --XXXX

我有发送消息的用户界面。用户输入主题、消息正文、要发送的电子邮件,并附加一些文件。提交后,我需要以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--
From:johndoe
MIME版本:1.0
内容类型:多部分/混合;
boundary=“XXXXboundary text”
这是MIME格式的多部分消息。
--XXXX边界文本
内容类型:文本/纯文本
这是正文
--XXXX边界文本
内容类型:文本/纯文本;
内容处置:附件;
filename=“test.txt”
这是附件文本
--XXXX边界文本--

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

我想你应该看看Node.js模块的世界。。。您将无法从浏览器客户端实际发送MIME邮件,因为未提供SMTP支持。但是,您可以通过XHR将预先格式化的消息发布到web服务器,然后让web服务器实际发送消息

这看起来可以满足您的需要:

i、 e.您可以将MIME消息准备为字符串

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

我创建了一个javascript插件,用javascript创建MIME消息。创建具有必要属性的
mail
对象,并调用createMimeMessage函数。它以javascript字符串的形式返回就绪MIME消息

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);    

我希望它能有所帮助。

即使您在客户端编写mime消息,您将如何使用javascript发送它?@claustrofob服务器等待mime消息,web客户端和移动(iOS,…)客户端以mime消息的形式发送。所以作为web客户端,我应该以MIME消息的形式发送。我希望我可以通过ajax以字符串(文本/普通)的形式发送它。实际上,可以将mime消息与javascript结合起来。您可以找到base64编码函数的实现,您可以使用文件API读取文件内容。但它只适用于现代浏览器(以及v10版本的IE)。对于客户来说,这无疑是一个巨大的开销。特别是带有附件的操作。实际上,您尝试构建电子邮件mime消息。它不是为电子邮件服务器设计的吗?您不能直接从浏览器发送电子邮件。@bob:mime是消息格式。但你们的传输协议是什么?没有自定义插件,您只能使用HTTP(S)或WS(S)。@Bergi我使用HTTP(S)。我已将mime消息创建为文本。然后我将它以text/plain的形式发送到服务器。看起来很接近我要查找的内容。我去看看。