1 个不稳定版本
0.1.0 | 2023年12月18日 |
---|
#234 在 WebSocket
58KB
1.5K SLoC
tuta_poll
一个小型库,用于从 tutanota 查询邮件,并可能解密发件人姓名、主题和正文,并将它们标记为已读。
概述
该库提供了一种高级客户端,可以选择连接到 WebSocket 来监听新消息,以及未记录的 tuta api 的包装器。该库还可以解密发件人姓名、主题和消息正文。
使用方法
配置和客户端
let config = tuta_poll::config::Account {
"[email protected]",
"some_password",
watch_spam: true,
show_name: true,
show_subject: true,
show_body: true,
};
let client = tuta_poll::client::Client::new(&config).await?;
获取消息
use futures_util::pin_mut;
use futures_util::StreamExt;
let mails = client.get_mails();
pin_mut!(mails);
while let Some(mail) = mails.next().await {
let mut mail = mail?;
let decrypted_mail = client.decrypt(&mail).await;
}
连接到 WebSocket
let connector = client.get_websocket_connector()?;
loop {
let mut socket = connector.connect()?;
while let Ok(has_new) = socket.has_new().await {
if !has_new {
continue;
}
let mails = client.get_mails();
}
}
示例
请参阅 examples/
文件夹中的两个完整示例。
依赖关系
~10–24MB
~400K SLoC