我正在开发一个使用guerrillamail来获取临时电子邮件的应用程序,然后我使用其给定的API来获取发送到此ID的电子邮件的内容。我无法实现的是,如果电子邮件包含附件,我如何使用API下载它,或者如果我有电子邮件源,则使用mime解析器库解析MIME?
或者,您可以推荐任何提供API支持以下载附件的替代方案。
答案 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;
我无法在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数组。