Javascript xpage csjs代码未通过gmail api以正确格式发送内联图像和附件电子邮件
我的xpage有以下字段Javascript xpage csjs代码未通过gmail api以正确格式发送内联图像和附件电子邮件,javascript,xpages,gmail-api,Javascript,Xpages,Gmail Api,我的xpage有以下字段 使用evo:InputRichtext编辑器的Xpage来自: 我正在使用gmail api发送电子邮件 我在Ckeditor中添加格式化文本、内联图像和文件 使用按钮使用csjs从to、Subject和Ckeditor组件获取值 通过gmail服务器发送的消息,但未接收wysiwyg格式。不显示图像,只显示文件名 我知道这是跨平台编码问题,我不知道这是什么 以下是按钮代码: var to = XSP.getElementById("#{id:To}").value;
var to = XSP.getElementById("#{id:To}").value;
var subject = XSP.getElementById("#{id:Subject}").value;
var richCKEditor = CKEDITOR.instances["#{id:inputRichText1}"];
var dt=richCKEditor.getData();
var content = richCKEditor.dataProcessor.toHtml(dt);
console.log(to);
console.log(subject);
console.log(content);
var email ="From: 'm' <"+to+">\r\n"+
"To: "+ to +"\r\n"+
"Subject: "+subject+"\r\n"+"\r\n"+
"MIME-Version: 1.0\n"+
//"Content-Type: text/html; charset=\"UTF-8\"\n" +
"Content-Type: multipart/mixed; \n" +
content;
console.log(email);
auth();
send(email);
当您发送带有附件和内联图像的Mime电子邮件时,它包含许多部分
- HTML将是文本/HTML部分
- 图像将类似于图像/jpeg或图像/png部分
- 附件将类似于应用程序/pdf部分
- 多部分/混合
- 多部分/相关
- 文本/html
- 图像/jpeg
- 图像/jpeg
- 申请表格/pdf
- 多部分/相关
否则,您最好尝试在服务器端执行此操作,但无论如何,您都需要以某种方式让服务器参与进来。我使用的是chrome。通过gmail向我自己发送了一封电子邮件,内联图像按原样显示。但当从ckeditor发送到gmail时。内联图像和文件位于正确位置,但图像未按原样显示,并显示文本filename.txt。我正在寻找一个代码来将ckeditor内容转换为mime,它构建了您上面提到的整个结构。hi Mohan,正如我前面所解释的,ckeditor可以为您提供图像数据的唯一情况是,如果图像作为数据URI粘贴进来。即便如此,gmail也不会显示。CKeditor知道图像的位置,但不知道内容。附件也是一样。我不知道有什么其他方法可以解释这一点,CKEditor只会给你文本/HTMLMIMEPART,所以不可能只用CKEditor来构建整个电子邮件。要获取其他部件,您必须向服务器发出额外请求。你有什么理由在客户端这么做吗?为什么不在服务器端呢?谢谢。domino是应用程序环境,邮件环境是gmail。我正在使用gmail api发送,它需要使用客户端javascript与gmail服务器进行身份验证。这就是我使用CSJS的原因。我使用SSJS保存后端notes文档,它保存图像(sametime表情)和简单文本文件,但在notes中没有正确显示。它的意思是“注意事项”。这就是为什么我在寻找客户端解决方案来转换RFC2822或5322格式的所有消息。node.js中提供了该功能,但关于node.js与XPages集成的文档较少。这是CKeditor中的内容。“这是一个测试。这是sametime表情符号,它是gif.file.test.txt。这是一个简单的.txt文件。两者都是内联的。”(无法复制图像)。getData()方法将控制台日志显示为
这是一个测试。这是sametime表情符号,它是gif。文件这是一个简单的.txt文件。两者都是内联的。
具有源代码。NotesMimeEntity为文本、图像和附件创建具有正确内容类型定义的Mime实体,如下所示:字段名称:邮件体数据类型:Mime部分数据长度:208字节Seq Num:2 Dup项ID:0字段标志:摘要“Mime版本:1.0内容类型:多部分/混合;边界=”==IFJRGLKFGIR29455UHRUHIHD”内容类型:多部分/混合;边界=“==IFJRGLKFGIR29455UHRUHIHD”MIME版本:1.0”,但没有文件信息。虽然richtextCKeditor有文件soruce,但它是html格式。我需要一些javascript代码来自动查找边界。function send(email) {
console.log(email);
sendMessage(email, function (response) {
//console.log("Handed to Gmail API for sending");
{console.log(response)}
});
alert("Message sent");
}
function sendMessage(email, callback) {
//auth();
gapi.client.load('gmail', 'v1',function(){
var base64EncodedEmail = btoa("MIME-Version: 1.0\n"+
"Content-Type: text/html; charset=\"UTF-8\"\n" +
// "Content-Type: multipart/mixed; \n" +
//"Content-length: 5000\n" +
//"Content-Transfer-Encoding: message/rfc822\n"+
email).replace(/\//g,'_').replace(/\+/g,'-');
// alert("Message sending\n" + base64EncodedEmail.toString());
console.log(base64EncodedEmail);
var request = gapi.client.gmail.users.messages.send({
'userId': 'me',
'resource': {
'raw': base64EncodedEmail
}
});
request.execute(callback);
});
}