Email over IMAP
Start with a connected interface. Choose Web for your own setup, or CLI / Agent for terminal instructions.
Set up in the Web app
- Find your provider's IMAP hostname and enable IMAP if required. Obtain an app-specific password where supported. An ordinary password cannot replace an unsupported authentication method.
- Prepare the Extension:
inkcre/mailversion0.3.0on Core Host0.2.x. Select the online Core client to install and enable the collector. - Open Sources and the create-source form. Use Nickname
My mailand Typeextensions.mail.source.Source. - Paste this into Config, replace the host and credentials, and save/create:
{
"protocol": "imap",
"parameters": {
"host": "YOUR-IMAP-HOST",
"port": 993,
"security": "tls",
"username": "YOUR-MAIL-LOGIN",
"password": "YOUR-APP-PASSWORD"
},
"ordinary_mark_as_seen": false,
"synchronize_deletions": false
}- Send yourself a test message after creating the Source, then collect once. Ordinary collection begins with new mail; an empty result does not prove authentication failed. Inspect the Job's mailbox diagnostics. These settings preserve unread state.
- To collect older mail, open the Source's new-collection Job dialog, select Historical backfill, and enter a small date range as its run Config:
{ "since": "2026-09-01", "before": "2026-09-08" }Choose dates appropriate to your mailbox. The start is included and the end excluded. Observe that Job, then index and search for a known email. This collector does not send mail or generate email digests. Keep credentials and diagnostics private.
Start with a working instance and a connected CLI. The version below targets Core Host 0.2.x; check the linked release listing for other Host versions. If already installed, inspect inkcre-cli extension get inkcre/mail before changing it. Keep credential files and command output private.
Find your provider's IMAP hostname and enable IMAP if required. Obtain an app-specific password where supported. Accounts requiring an unsupported authentication method cannot be connected by substituting an ordinary login password.
Install and enable the Core Extension:
shinkcre-cli extension install inkcre/mail --version 0.3.0 inkcre-cli extension enable inkcre/mailSave
mail.json, replacing the host and credentials:json{ "nickname": "My mail", "config": { "protocol": "imap", "parameters": { "host": "YOUR-IMAP-HOST", "port": 993, "security": "tls", "username": "YOUR-MAIL-LOGIN", "password": "YOUR-APP-PASSWORD" }, "ordinary_mark_as_seen": false, "synchronize_deletions": false } }shinkcre-cli source create --type extensions.mail.source.Source --input mail.jsonSend yourself a test email after creating the Source, then collect its ID. Ordinary collection starts with new mail; an empty first run does not imply login failed. Inspect mailbox diagnostics even if the Job finishes. This example preserves unread state; the collector's default would mark ordinary collected mail as seen.
For older mail, request a small explicit backfill. Replace
42with the Mail Source ID and choose dates for your mailbox:shinkcre-cli source backfill 42 --input-json '{"since":"2026-09-01","before":"2026-09-08"}'The start date is included and the end date excluded. Observe the Job and index afterward. This collector does not send mail or create email digests.
See the Mail configuration and published releases.
Next: index and search for a known item, then schedule collection.