2016-02-26 35 views
1

我使用emailjs发送电子邮件。 我有base64字符串。 当我发送HTML体附件base64在emailjs

attachment: 
[ 
    {data:"<html> <body> <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAFA3PEY8..."> </body> </html>", alternative:true} 
] 

并非所有的电子邮件客户端显示<img src="base64">(如Gmail网络或Outlook)

我想从BASE64附加文件。我该怎么做?

我试了,但图片均损坏:

attachment: 
[ 
    {data:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAFA3PEY8...", encoded:true, name:"file.jpeg",type:"image/jpeg"}, 
] 

PS:我的服务器设置:

"host" : "smtp.gmail.com", 
"user" : "***@gmail.com", 
"password" : "******", 
"ssl" : true, 
"port" : 465 

回答

0

尝试添加的base64字符串,不格式的数据(我有同样的问题,但设法解决这个问题):

attachment: 
[ 
    {data:"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAFA3PEY8...", encoded:true, name:"file.jpeg",type:"image/jpeg"}, 
] 

换句话说,获取数据字符串没有别的。你可以用这样的东西来匹配它:

var data = yourBase64DataUrl.match(/base64,(.+)$/); 
var base64String = matches[1]; 

... 

attachment: [ 
    {data: base64String, encoded:true, name:"file.jpeg",type:"image/jpeg"}, 
] 
相关问题