- RUNBOOKS.md: repo-level spec (six-field model, naming, safety, maturity path) - runbooks/_template.md + README.md: standard template and 16-entry routing index - new: issue-to-merge, fix-ci, release, rollback, network-change, network-recovery - light-enhance 10 existing runbooks with Purpose/Scope/Safety headers - AGENTS.md: point step 3 at index/spec, add runbook execution rules - docs/agent-runbook-guide.md: archive of Manus AI guide
2.2 KiB
2.2 KiB
Runbook: use mailcow SMTP / IMAP (client)
Purpose
Reference for configuring mail clients against the mailcow SMTP/IMAP endpoints.
Scope
- Applicable: mx2.windy.me client submission (587/465) and IMAP/POP (993/995).
- Not applicable: server-side mailcow configuration or administration.
Target: mx2.windy.me
Prerequisite: a mailbox on windy.me (password from mailcow UI, not the admin account unless it is that mailbox).
Clients should use submission to send. Do not use port 25 as a desktop/app outbound port.
Send (SMTP)
| Item | Value |
|---|---|
| Server | mx2.windy.me |
| Port | 587 (STARTTLS) — preferred |
| Alt port | 465 (SSL/TLS) |
| Username | Full address, e.g. zhiqiang@windy.me |
| Password | Mailbox password |
| Auth | Required (LOGIN / PLAIN) |
Match encryption to the port: 587 → STARTTLS; 465 → SSL/TLS (not STARTTLS).
From address should be that mailbox or an allowed alias on the same domain.
Receive (IMAP / POP)
| Protocol | Server | Port |
|---|---|---|
| IMAPS | mx2.windy.me |
993 |
| POP3S | mx2.windy.me |
995 |
Username = full email address; same mailbox password.
Webmail
- UI / SOGo: https://mx2.windy.me
- Log in with the same mailbox credentials.
CLI smoke test (optional)
swaks --to someone@example.com \
--from YOU@windy.me \
--server mx2.windy.me --port 587 -tls \
--auth LOGIN --auth-user YOU@windy.me --auth-password 'MAILBOX_PASSWORD'
Do not commit or paste real passwords into this repo.
Auth failures — quick checks
- Username is the full email, not a local part alone
- Password is the mailbox password (not unrelated host/root secrets)
- Port/TLS mode mismatch (587 vs 465)
- Account active in mailcow; not rate-limited / fail2banned after bad attempts
- Apps that store SMTP in their own config (e.g. Vaultwarden
config.json) may keep a stale password even when.envis correct — verify AUTH against the effective config (vaultwarden-health §5)
Safety
- Do not commit or paste real passwords into this repo or chat.
- Use submission (587/465) for client sending; never use port 25 as a desktop/app outbound port.