具有附件下载API支持的一次性临时电子邮件

时间:2015-06-19 07:42:12

标签: ios iphone api email

我正在开发一个使用guerrillamail来获取临时电子邮件的应用程序,然后我使用其给定的API来获取发送到此ID的电子邮件的内容。我无法实现的是,如果电子邮件包含附件,我如何使用API​​下载它,或者如果我有电子邮件源,则使用mime解析器库解析MIME?

或者,您可以推荐任何提供API支持以下载附件的替代方案。

2 个答案:

答案 0 :(得分:2)

我试着看看能否找到答案,所以我制作了一些似乎有效的代码:



var template_content = $("#mail")[0].content;
var tep = $("#mail");

function getMail(id, mail_id) {
  $.get("https://api.guerrillamail.com/ajax.php?f=fetch_email&lang=en&sid_token=" + id + "&email_id=" + mail_id, function(mail) {
    console.log("Mail:");
    console.log(mail);
    template_content.querySelector('p:nth-of-type(1)').innerHTML = mail.mail_from;
    template_content.querySelector('p:nth-of-type(2)').innerHTML = mail.mail_subject;
    template_content.querySelector('p:nth-of-type(3)').innerHTML = mail.mail_body;
    if (mail.att == 0) {
      template_content.querySelector('span').innerHTML = "-none-";
    } else {
      var sp = template_content.querySelector('span');
      $.each(mail.att_info, function(l, att) {
        console.log(att);
        var a = document.createElement('a');
        console.log(a);
        var linkText = document.createTextNode(att.f + " [" + att.t + "]");
        a.appendChild(linkText);
        a.title = att.f + " [" + att.t + "]";
        a.href = "https://www.guerrillamail.com/inbox?get_att&lang=en&sid_token=" + id + "&email_id=" + mail.mail_id + "&part_id=" + att.p;
        sp.appendChild(a);
      });
    }
    var clone = document.importNode(template_content, true);
    document.querySelector('#mails').appendChild(clone);
  });
}

$.get("https://api.guerrillamail.com/ajax.php?f=get_email_address&lang=en", function(data) {
  var email = data.email_addr;
  var id = data.sid_token;
  $("#email_addr").text(email);
  $("#pane").show();

  $("#get").click(function() {
    $.get("https://api.guerrillamail.com/ajax.php?f=get_email_list&lang=en&sid_token=" + id + "&offset=0", function(data) {
      console.log(data.list);
      var tep = $("#mail");
      $.each(data.list, function(i, mail) {
        getMail(id, mail.mail_id)
      });
    });
  });
});

p {
  display: inline
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="pane" style="display:none">
  <p>Send email with attachment to [<b id="email_addr">frefr</b>] and press the button:</p>
  <button id="get">Get mails!</button>
</div>

<br/>
<br/>

<div id="mails">

</div>


<template id="mail">
  <div>
    <h2>Mail</h2>
    Sender:
    <p>1</p>
    <br/>Subject:
    <p>2</p>
    <br/>Body:
    <br/>
    <hr/>
    <p>3</p>
    <br/>
    <hr/>Attachments:
    <br>
    <span></span>
  </div>
</template>
&#13;
&#13;
&#13;

我无法在the documentation中找到有关附件内容的任何信息,但在我的代码中,我使用了&#34; normal&#34;附件链接,它似乎工作:

https://www.guerrillamail.com/inbox?get_att&lang=en&sid_token={sid_token}&email_id={email_id}&part_id={part_id}";

查看我的示例代码,了解如何使用它。

您似乎已经在iPhone方面完成了大部分代码,基本上您只需要使用get_att中的att parameters添加对fetch_email网址的调用。

答案 1 :(得分:0)

Temp Mail似乎have an API that suits your needs。您可以使用以下链接检索电子邮件附件

https://privatix-temp-mail-v1.p.mashape.com/request/attachments/id/{md5}/

它会返回一个包含所有附件的JSON数组。