使用来自angularjs的mailgun api将pdf文件作为邮件附件发送

时间:2017-03-27 09:31:50

标签: javascript html angularjs mailgun pdfmake

我为发票生成创建了一个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附件的邮件。

0 个答案:

没有答案