aardio 文档
aardio 范例: 调用临时邮箱 mail.tm 接口
如果要在这里调用
//调用临时邮箱 mail.tm 接口
import console;
import string.html;
import web.rest.jsonClient;
var http = web.rest.jsonClient();
var mailApi = http.api("https://api.mail.tm/");
console.showLoading("正在登录");
// 获取令牌
var tokenData, err = mailApi.token.post(
address = "aardio@virgilian.com";//你的邮件地址
password = "password"; //密码
);
if(err){
return console.errorPause(err)
}
// 设置令牌
http.setAuthToken(tokenData.token);
// 获取邮件总数
var messages, err = mailApi.messages.get(page=1);
var totalItems = messages[["hydra:totalItems"]] || 0;
var page = 0;
for(i=1;math.ceil(totalItems/30);30){
page++;
//分页获取邮件
messages, err = mailApi.messages.get(page=page);
var list = messages["hydra:member"];
for(i=1; #list){
var mail = list[i];
console.log(mail.from.address,mail.subject || mail.intro)
var detail = mailApi.messages[mail.id].get()
//detail.text 是字符串,但 detail.html 是字符串数组
console.log( string.html.toText(detail.html) )
//删除邮件
mailApi.messages[mail.id].delete()
}
}
// 获取账号信息
var me,err = mailApi.me.get();
console.showLoading("正在监听新邮件");
// 使用 mercure 协议监听 mail.tm 新邮件(实际上就是 SSE 流)
var eventSource = http.api("https://mercure.mail.tm/.well-known/mercure");
var ok,err = eventSource.get({topic = "/accounts/"+me.id}, function(sseMessage){
var data = sseMessage.data;
if(data[["@context"]]=="/contexts/Message"){
console.log("收到新邮件")
console.log("发件邮箱::",data.from.address)
console.log("主题 / 简介:",data.subject || data.intro)
/*
http 对象已进入流模式,
如果要在这里调用 https://api.mail.tm/messages/{id}/get
则需要创建新的 web.rest.jsonClient
*/
}
});
console.pause();
Markdown 格式