Angular 离子型2+;邮枪附件
我正试图发送一封带有图片作为附件的电子邮件。不幸的是,除了附件,一切都正常。我在论坛或其他问题以及API上四处寻找,但我就是想不出来 这是发送电子邮件的一段代码。它接收Base64图像字符串数组。图像显示在应用程序中使用相同的数组,因此我认为该部分应该是正确的Angular 离子型2+;邮枪附件,angular,typescript,ionic2,mailgun,Angular,Typescript,Ionic2,Mailgun,我正试图发送一封带有图片作为附件的电子邮件。不幸的是,除了附件,一切都正常。我在论坛或其他问题以及API上四处寻找,但我就是想不出来 这是发送电子邮件的一段代码。它接收Base64图像字符串数组。图像显示在应用程序中使用相同的数组,因此我认为该部分应该是正确的 sendAtt(pictures: any[]){ var requestHeaders = new Headers(); requestHeaders.append("Authorization", "Basic " +
sendAtt(pictures: any[]){
var requestHeaders = new Headers();
requestHeaders.append("Authorization", "Basic " + this.apiKey);
requestHeaders.append("Content-Type", "application/x-www-form-urlencoded");
this.http.request(new Request({
method: RequestMethod.Post,
url: "https://api.mailgun.net/v3/" + this.mailgunUrl + "/messages",
body: "from="+this.sender+"&to=" + this.recipient + "&subject=" + this.subject + "&text=" + this.message +"&attachment="+pictures[0] ,
headers: requestHeaders,
}))
.subscribe(success => {
console.log("SUCCESS -> " + JSON.stringify(success));
}, error => {
console.log("ERROR -> " + JSON.stringify(error));
});
}
mailgun的附件需要编码为多部分/表单数据 因此,Base64图像字符串无法工作,需要对其进行转换
dataURItoBlob(dataURI){
康斯特林,
模拟串;
if(dataURI.split(',')[0].indexOf('base64')!=-1){
byteString=atob(dataURI.split(',)[1]);
}否则{
byteString=decodeURI(dataURI.split(',')[1]);
}
mimestring=dataURI.split(',')[0]。split(':')[1]。split(';')[0];
常量内容=新数组();
for(var i=0;i }
post的最大大小是25MB,您的图像是否比这个小?邮枪日志怎么说?