1 个不稳定版本
0.0.1 | 2024年5月3日 |
---|
#12 in #outlook
24KB
361 行
邮件通
_ _ _
| | (_) |
<(' ) /"""/ __| | _____ _____ _ __ ___ __ _ _| |
\ / / / _` |/ _ \ \ / / _ \ '_ ` _ \ / _` | | |
\.___" | (_| | (_) \ V / __/ | | | | | (_| | | |
\__,_|\___/ \_/ \___|_| |_| |_|\__,_|_|_|
Check your email, peacefully.
dovemail
是一个简单的*工具,用于连接 Microsoft 的官方 CLI 工具 m365
与 Maildir 邮件客户端。它允许您在第三方应用程序不被允许的情况下,使用 Aerc、Neomutt、Mozilla Thunderbird 或 GNOME Evolution 等客户端阅读 Outlook 邮件。请参见下文:这是为谁准备的?
检索邮件正常。发送邮件正在开发中。
安装
从 crates.io 安装
cargo install dovemail
Docker 拉取
docker pull registry.gitlab.com/jennydaman/dovemail/master:latest
Podman 拉取
podman pull registry.gitlab.com/jennydaman/dovemail/master:latest
使用 Nix Flakes 安装
各种方法。
使用 Home-Manager
- 将
inputs.dovemail.url = "gitlab:jennydaman/dovemail";
添加到~/.home-manager/config/flake.nix
- 将
inputs.dovemail.packages.${system}.default
添加到home.packages
- 运行
home-manager switch
使用 nix profile
nix profile install gitlab:jennydaman/dovemail
快速入门
- 运行
m365 login
- 复制
./scripts/pull_emails_using_dovemail.sh
并运行它。
设计
邮件通的设计遵循 UNIX 哲学中的“只做一件事,做好一件事”的原则。此仓库提供以下内容
dovemail
,一个简单的 Rust 程序pull_emails_using_dovemail.sh
,一个不简单的 Bash 脚本
用法:dovemail
dovemail
解析 stdin 中的 JSON 并将纯文本文件写入输出目录。典型用法如下
m365 outlook message list | dovemail ~/.local/share/mail/[email protected]/AllMail/tmp
mv ~/.local/share/mail/[email protected]/AllMail/{tmp,new}
与 Podman 一起使用
podman run --rm \
-v $HOME/.cli-m365-all-connections.json:/home/cli-microsoft365/.cli-m365-all-connections.json:ro \
-v $HOME/.cli-m365-connection.json:/home/cli-microsoft365/.cli-m365-connection.json:ro \
-v $HOME/.cli-m365-msal.json:/home/cli-microsoft365/.cli-m365-msal.json:ro \
docker.io/m365pnp/cli-microsoft365:latest m365 outlook message list \
| podman run --rm -i -v $HOME/.local/share/mail/[email protected]/AllMail/tmp:/out registry.gitlab.com/jennydaman/dovemail/master:latest dovemail /out
与 Docker 一起使用
与 与 Podman 一起使用 相同,但将 podman
替换为 docker
。
实现细节
maildir规范描述了一种生成唯一名称的流程,而dovemail
并未实现。据我所知,这种与规范的偏差是无害的。您可以将这些文件重命名以符合规范,请参阅配置部分。
dovemail
根据Outlook消息ID的seahash输出命名文件。
用法:pull_emails_using_dovemail.sh
pull_emails_using_dovemail.sh
在~/.local/share/mail
中创建一个maildir组织目录,并为每个文件夹运行m365 outlook message list | dovemail ...
以从Outlook检索邮件。首次运行时,下载所有邮件。后续运行时,仅下载新邮件。
配置
请自行操作。创建pull_emails_using_dovemail.sh
的副本,并按您所需进行更改。
创建一个cron/systemd定时器或电子邮件客户端快捷键来运行(您的pull_emails_using_dovemail.sh
副本)将非常有用。
示例:待定
这是给谁的?
大多数希望将邮件客户端与Outlook连接的用户不应使用Dovemail。应按以下顺序尝试以下方法
- 直接连接到Outlook IMAP/SMTP。请参阅https://support.microsoft.com/en-us/office/pop-imap-and-smtp-settings-for-outlook-com-d088b986-291d-42b8-9564-9c414e2aa040
- 运行Davmail网关。请参阅https://davmail.sourceforge.net/
- 使用
m365
CLI和dovemail
。
只有在管理员禁用第三方应用程序的情况下,才应使用Dovemail。
这是否允许?
自行承担风险!
在管理员限制第三方应用程序的情况下,像dovemail
这样的工具会被允许吗?请注意,第三方应用程序被阻止使用Outlook的API。重要的是,dovemail
不使用Outlook的API。它从未连接到微软的服务器——它仅仅解析m365
(一个官方的微软工具)的输出。当使用dovemail
时,仅使用第一方软件与微软的服务器通信。
总的来说,dovemail
与屏幕阅读器等辅助软件更相似,而不是第三方客户端。它与第一方软件(m365
CLI)接口,并以更易于访问的格式(maildir,纯文本)向用户展示数据。如果您的组织允许残疾人使用屏幕阅读器,那么没有技术理由不允许使用dovemail
。
计算机安全策略通常是由没有计算机知识的人,由没有计算机知识的人编写的。
限制
不支持邮件附件。
大多数dovemail
的限制可以通过使用具有X-Web-Link
头的Web浏览器打开电子邮件来克服。
依赖关系
~6-8MB
~146K SLoC