内容简介:An email client that functions like a kanban board, for Mac/Windows/Linux/Docker.The rest of this readme focuses on the technical details of Kanmail. For user documentation
Kanmail
An email client that functions like a kanban board, for Mac/Windows/Linux/Docker. Download the latest release here .
- Build on MacOS (beta), tested with Linux & Windows (alpha)
- Developed using Gmail, Outlook & Fastmail
- Should be compabile with other email providers (uses IMAP/SMTP)
- Considered in "beta" - used as my main email client for >1yr
The rest of this readme focuses on the technical details of Kanmail. For user documentation see the docs
directory .
:copyright:
License
Before continuing it is important to note that Kanmail is open source but not free . Kanmail is available for free download for evaluation; for continued use of Kanmail a license should be purchased .
We welcome pull requests, but note you will be contributing to a non-free project. You will be required to sign the Oxygem CLA before any contributions can be merged. We offer free license keys to contributors, please email hello@oxygem.com for more information.
️
Development
Setup your system
MacOS
Python must be configured --with-framework
. See this StackOverflow answer to to check whether this is enabled.
To build/release you'll need to intsall GNU tar, which can be done with brew:
brew install gnu-tar
Linux (Ubuntu)
For qt
to install properly you'll need:
apt install build-essential pkg-config git python3-dev libcairo2-dev libgirepository1.0-dev
Then, after requirements are installed you need to edit this pyinstaller file and comment out the lines that add fontconfig/icons/themes (prevents the resultant bundle being >200mb).
Windows
You'll need the Visual Studio build tools .
Install Python requirements
First install the requirements:
# Generic development requirements pip install -r requirements/development.txt # Platform specific requirements pip install -r requirements/[macos|linux|windows].txt
To start the server + webpack-server:
honcho start
Then go to http://localhost:4420 to view/develop the app in a browser of your choice.
Or - to start the full windowed app, use:
honcho start -f Procfile-app
Note that the webserver does not auto-reload when running in app mode.
Releases
Version numbers are generated at build in the date-based format: MAJOR.YYMMDDhhmm
.
:arrows_counterclockwise:
Syncing
Kanmail syncs email using the IMAP protocol. Instead of implementing a "complete sync engine" (one which attempts to keep a local copy of the server data), Kanmail uses a cache and loads data on demand. This simplifies the implementation but makes it hard/impossible to behave as an offline email client.
Kanmail keeps in sync with the remote server by checking UID lists. These are cached locally and every "sync" the full list is refreshed, ensuring the local copy is up to date with the server UID list. Email headers are cached against their UIDs.
Currently no actual full email data is cached, only the headers. Meaning when offline Kanmail will load any cached threads into the column view, but it won't be able to open any of these threads.
Initial load (get emails)
When Kanmail starts, the UI attempts to get emails for each folder (both columns and "core" folders like archive/drafts) - this API endpoint is always expected to return a valid response, even if empty, and does not require connectivity. If there is a local cache of UIDs and email headers, these will be returned.
Subsequent calls to this API endpoint will load more emails, loading headers from the server as required.
Updates (sync emails)
During the lifetime of a running Kanmail app it will periodically request to sync emails with the server. At this time the full UID list is reloaded from the server (failing if offline) and any new email headers are fetched. This endpoint returns new emails and the UIDs of any deleted emails from the UID list.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
程序员的自我修养
陈逸鹤 / 清华大学出版社 / 2017-5 / 49.00
程序员作为一个职业、也作为一个群体,正逐渐从幕后走向前台,并以他们自己的能力加速改变着世界,也改变着人们生活的方方面面。然而,对于程序员,特别是年轻程序员们来说,如何理解自己的职业与发展,如何看待自己的工作与生活,这些问题往往比那些摆在面前的技术难题更让他们难以解答。 这本书从一个成熟程序员、一名IT管理者的角度,以杂记的形式为大家分享关于国内程序员职业生涯、个人发展、编程中的实践与认知乃至......一起来看看 《程序员的自我修养》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
HEX CMYK 转换工具
HEX CMYK 互转工具