我正在开发一个使用
guerrillamail获取临时电子邮件的应用程序,然后我使用其给定的API来获取发送到此ID的电子邮件的内容.我无法实现的是,如果电子邮件包含附件,我如何使用API下载它,或者如果我有电子邮件源,则使用mime解析器库解析MIME?
或者,您可以推荐任何提供API支持下载附件的替代方案.
解决方法
我试着看看能否找到答案,所以我制作了一些似乎有用的代码:
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>
我在the documentation中找不到有关附件内容的任何信息,但在我的代码中我使用了“普通”附件链接,它似乎有效:
https://www.guerrillamail.com/inBox?get_att&lang=en&sid_token={sid_token}&email_id={email_id}&part_id={part_id}";
查看我的示例代码以了解如何使用它.
您似乎已经在iPhone端完成了大部分代码,基本上您只需要使用fetch_email中的att参数添加对get_att url的调用.