# 7hello80/nimail architecture

> Architecture diagram of the GitHub repository 7hello80/nimail, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/7hello80/nimail
- Repository: https://github.com/7hello80/nimail

## Overview

NiMail is a lightweight mail server with a web administration interface and SMTP, IMAP, and POP3 support. Its documented workflows include managing domains and mailboxes, serving mail clients, and aggregating external mail accounts. The repository tree exposes no implementation files, so component paths and internal call relationships cannot be verified; the graph captures documented capabilities and omits uncertain wiring.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["Client Interfaces"]
  node_web_admin["Web Admin"]
  node_mobile_app["Mobile App"]
end

subgraph group_mail["Mail Services"]
  node_smtp["SMTP Service"]
  node_imap["IMAP Service"]
  node_pop3["POP3 Service"]
  node_external_aggregation["External Mail Aggregation"]
end

subgraph group_management["Administration"]
  node_mailboxes["Mailbox Management"]
  node_domain_management["Domain Management"]
  node_user_management["User Management"]
  node_quotas_permissions["Quotas and Permissions"]
  node_sqlite[("SQLite Database")]
end

subgraph group_security["Domain Security"]
  node_tls["TLS Configuration"]
  node_antiforgery["SPF DKIM DMARC"]
  node_dns_records["DNS Record Guidance"]
end

node_admin(("Administrator"))
node_mail_clients(("Mail Clients"))
node_external_mail(("External Mailboxes"))
node_dns_provider(("DNS Provider"))

node_admin -->|"uses"| node_web_admin
node_mail_clients -->|"submits or receives"| node_smtp
node_mail_clients -->|"accesses mail"| node_imap
node_mail_clients -->|"retrieves mail"| node_pop3
node_mobile_app -.->|"accesses mail"| node_imap
node_mobile_app -.->|"accesses mail"| node_pop3
node_web_admin -->|"manages domains"| node_domain_management
node_web_admin -->|"manages users"| node_user_management
node_web_admin -->|"displays records"| node_dns_records
node_domain_management -->|"provides records"| node_dns_records
node_dns_provider -->|"receives configuration"| node_dns_records
node_external_aggregation -->|"connects accounts"| node_external_mail
node_smtp -->|"uses encryption"| node_tls
node_imap -->|"uses encryption"| node_tls
node_pop3 -->|"uses encryption"| node_tls
node_domain_management -->|"configures domain keys"| node_antiforgery
node_user_management -->|"applies controls"| node_quotas_permissions
node_mailboxes -->|"stores mail data"| node_sqlite

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_web_admin,node_mobile_app,node_mail_clients toneBlue
class node_smtp,node_imap,node_pop3,node_external_aggregation toneAmber
class node_mailboxes,node_domain_management,node_user_management,node_quotas_permissions,node_sqlite toneMint
class node_tls,node_antiforgery,node_dns_records toneRose
class node_admin,node_external_mail,node_dns_provider toneIndigo
```

## Components

### Client Interfaces

- **Web Admin**
- **Mobile App**

### Mail Services

- **SMTP Service**
- **IMAP Service**
- **POP3 Service**
- **External Mail Aggregation**

### Administration

- **Mailbox Management**
- **Domain Management**
- **User Management**
- **Quotas and Permissions**
- **SQLite Database**

### Domain Security

- **TLS Configuration**
- **SPF DKIM DMARC**
- **DNS Record Guidance**

### Other components

- **Administrator**
- **Mail Clients**
- **External Mailboxes**
- **DNS Provider**

## Connections

- Administrator → Web Admin: uses
- Mail Clients → SMTP Service: submits or receives
- Mail Clients → IMAP Service: accesses mail
- Mail Clients → POP3 Service: retrieves mail
- Mobile App → IMAP Service: accesses mail
- Mobile App → POP3 Service: accesses mail
- Web Admin → Domain Management: manages domains
- Web Admin → User Management: manages users
- Web Admin → DNS Record Guidance: displays records
- Domain Management → DNS Record Guidance: provides records
- DNS Provider → DNS Record Guidance: receives configuration
- External Mail Aggregation → External Mailboxes: connects accounts
- SMTP Service → TLS Configuration: uses encryption
- IMAP Service → TLS Configuration: uses encryption
- POP3 Service → TLS Configuration: uses encryption
- Domain Management → SPF DKIM DMARC: configures domain keys
- User Management → Quotas and Permissions: applies controls
- Mailbox Management → SQLite Database: stores mail data
