我为发票生成创建了一个angularjs应用程序。 这是Demo。
用户可以输入详细信息,并可以pdf格式下载发票。 我使用html2canvas和pdfMake进行了pdf生成,如here所示。
现在我想实现一个功能,将生成的pdf邮寄到给定的邮件ID。 我不想在这个应用程序中使用任何后端。 到目前为止我试过mailgun。但我无法发送带附件的邮件。实际上我不确定我是否可以将pdf文件从angular传递给api。
我的电子邮件功能是,
$scope.send = function() {
console.log("here")
$http({
"method": "POST",
"url": "https://api.mailgun.net/v3/sandbox7106da0b6ed8488bb186182ed794df0f.mailgun.org/messages",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic " + mailgunApiKey
},
data: "from=" + $scope.to + "&to=" + $scope.to + "&subject=" + $scope.subject + "&html=" + "<a href="">some message</a>" ,
}).then(function(success) {
console.log("SUCCESS " + JSON.stringify(success));
}, function(error) {
console.log("ERROR " + JSON.stringify(error));
});
}
邮件已发送。 我不知道如何将我的pdf添加为附件。 这是我使用pdfMake,
创建pdf的功能 $scope.pdf= function() {
html2canvas(document.getElementById('invoice'), {
onrendered: function (canvas) {
var data = ca
nvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 580,
}],
pageSize: 'A4',
pageMargins: [ 20, 0, 10, 20 ],
};
pdfMake.createPdf(docDefinition).download("invoice.pdf");
}
});
};
请帮我发送带有pdf附件的邮件。