1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<div class="slide-up space-y-6">
<div class="glass rounded-xl glow-border">
<div class="flex items-center justify-between px-5 py-4 border-b border-white/[0.04]">
<h2 class="text-sm font-medium text-zinc-200">Mail</h2>
</div>
<div class="px-5 py-4">
<p class="text-xs text-zinc-500 leading-relaxed">Dove runs a full local mail server stack with SMTP, IMAP, and POP3. Applications connect to the SMTP server to send emails, and mail clients like Thunderbird or Apple Mail connect via IMAP or POP3 to retrieve them. MX records are automatically created when mailboxes are added to a domain. Incoming emails are parsed for headers, content, attachments, and spam scoring. All mail stays on your machine.</p>
</div>
</div>
<div class="grid grid-cols-2 gap-4">
{% url "mail.users" as users_path %}
<a href="{{ users_path }}" hx-get="{{ users_path }}" hx-target="#content" hx-swap="innerHTML" hx-push-url="true" class="glass rounded-xl p-5 glow-border hover:bg-white/[0.02] transition-colors duration-150 group">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-accent-500/10">
<svg class="w-4.5 h-4.5 text-accent-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 0 0 2.625.372 9.337 9.337 0 0 0 4.121-.952 4.125 4.125 0 0 0-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 0 1 8.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0 1 11.964-3.07M12 6.375a3.375 3.375 0 1 1-6.75 0 3.375 3.375 0 0 1 6.75 0Zm8.25 2.25a2.625 2.625 0 1 1-5.25 0 2.625 2.625 0 0 1 5.25 0Z" />
</svg>
</div>
<h3 class="text-sm font-medium text-zinc-200 group-hover:text-zinc-100">Users</h3>
</div>
<p class="text-xs text-zinc-500 leading-relaxed">Create and manage mail users. Each user can own multiple mailboxes across different domains and authenticate against the mail server.</p>
</a>
{% url "mail.mailboxes" as mailboxes_path %}
<a href="{{ mailboxes_path }}" hx-get="{{ mailboxes_path }}" hx-target="#content" hx-swap="innerHTML" hx-push-url="true" class="glass rounded-xl p-5 glow-border hover:bg-white/[0.02] transition-colors duration-150 group">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-accent-500/10">
<svg class="w-4.5 h-4.5 text-accent-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 13.5h3.86a2.25 2.25 0 0 1 2.012 1.244l.256.512a2.25 2.25 0 0 0 2.013 1.244h2.21a2.25 2.25 0 0 0 2.013-1.244l.256-.512a2.25 2.25 0 0 1 2.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 0 0-2.15-1.588H6.911a2.25 2.25 0 0 0-2.15 1.588L2.35 13.177a2.25 2.25 0 0 0-.1.661Z" />
</svg>
</div>
<h3 class="text-sm font-medium text-zinc-200 group-hover:text-zinc-100">Mailboxes</h3>
</div>
<p class="text-xs text-zinc-500 leading-relaxed">Create email addresses tied to your registered domains. Each mailbox gets its own folders, storage, and supports aliases for receiving mail at multiple addresses.</p>
</a>
{% url "mail.webmail" as webmail_path %}
<a href="{{ webmail_path }}" hx-get="{{ webmail_path }}" hx-target="#content" hx-swap="innerHTML" hx-push-url="true" class="glass rounded-xl p-5 glow-border hover:bg-white/[0.02] transition-colors duration-150 group">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-accent-500/10">
<svg class="w-4.5 h-4.5 text-accent-400" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 3.75H6.912a2.25 2.25 0 0 0-2.15 1.588L2.35 13.177a2.25 2.25 0 0 0-.1.661V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 0 0-2.15-1.588H15M2.25 13.5h3.86a2.25 2.25 0 0 1 2.012 1.244l.256.512a2.25 2.25 0 0 0 2.013 1.244h2.21a2.25 2.25 0 0 0 2.013-1.244l.256-.512a2.25 2.25 0 0 1 2.013-1.244h3.859M12 3v8.25m0 0-3-3m3 3 3-3" />
</svg>
</div>
<h3 class="text-sm font-medium text-zinc-200 group-hover:text-zinc-100">WebMail</h3>
</div>
<p class="text-xs text-zinc-500 leading-relaxed">Full browser-based mail client. Compose with rich text editor, reply, reply all, forward, and attach files with drag-and-drop. Manage folders, search and filter messages, tag and star emails. Inspect complete headers, raw MIME source, and HTML rendering per message.</p>
</a>
<div class="glass rounded-xl p-5 glow-border opacity-60">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-zinc-500/10">
<svg class="w-4.5 h-4.5 text-zinc-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M18.364 18.364A9 9 0 0 0 5.636 5.636m12.728 12.728A9 9 0 0 1 5.636 5.636m12.728 12.728L5.636 5.636" />
</svg>
</div>
<div class="flex items-center gap-2">
<h3 class="text-sm font-medium text-zinc-400">No-Reply Addresses</h3>
<span class="text-[10px] text-zinc-600 bg-surface-800 px-1.5 py-0.5 rounded">Coming soon</span>
</div>
</div>
<p class="text-xs text-zinc-600 leading-relaxed">Create send-only addresses with no inbox. Useful for transactional emails, notifications, and automated messages that should not receive replies.</p>
</div>
<div class="glass rounded-xl p-5 glow-border opacity-60">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-zinc-500/10">
<svg class="w-4.5 h-4.5 text-zinc-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z" />
</svg>
</div>
<div class="flex items-center gap-2">
<h3 class="text-sm font-medium text-zinc-400">Bounce Capture</h3>
<span class="text-[10px] text-zinc-600 bg-surface-800 px-1.5 py-0.5 rounded">Coming soon</span>
</div>
</div>
<p class="text-xs text-zinc-600 leading-relaxed">Track and inspect bounced emails. Messages sent to non-existent mailboxes on registered domains are captured with sender, recipient, and reason for analysis.</p>
</div>
<div class="glass rounded-xl p-5 glow-border opacity-60">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-zinc-500/10">
<svg class="w-4.5 h-4.5 text-zinc-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5" />
</svg>
</div>
<div class="flex items-center gap-2">
<h3 class="text-sm font-medium text-zinc-400">Spam Scoring</h3>
<span class="text-[10px] text-zinc-600 bg-surface-800 px-1.5 py-0.5 rounded">Coming soon</span>
</div>
</div>
<p class="text-xs text-zinc-600 leading-relaxed">Analyse incoming emails for spam indicators. Check SPF, DKIM, and DMARC alignment, score deliverability, and flag suspicious messages automatically.</p>
</div>
<div class="glass rounded-xl p-5 glow-border opacity-60">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-zinc-500/10">
<svg class="w-4.5 h-4.5 text-zinc-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3c2.755 0 5.455.232 8.083.678.533.09.917.556.917 1.096v1.044a2.25 2.25 0 0 1-.659 1.591l-5.432 5.432a2.25 2.25 0 0 0-.659 1.591v2.927a2.25 2.25 0 0 1-1.244 2.013L9.75 21v-6.568a2.25 2.25 0 0 0-.659-1.591L3.659 7.409A2.25 2.25 0 0 1 3 5.818V4.774c0-.54.384-1.006.917-1.096A48.32 48.32 0 0 1 12 3Z" />
</svg>
</div>
<div class="flex items-center gap-2">
<h3 class="text-sm font-medium text-zinc-400">Mail Rules</h3>
<span class="text-[10px] text-zinc-600 bg-surface-800 px-1.5 py-0.5 rounded">Coming soon</span>
</div>
</div>
<p class="text-xs text-zinc-600 leading-relaxed">Server-side mail filters for automatic organisation. Define conditions and actions to move, tag, forward, or auto-respond to incoming messages.</p>
</div>
<div class="glass rounded-xl p-5 glow-border opacity-60">
<div class="flex items-center gap-3 mb-3">
<div class="flex items-center justify-center w-9 h-9 rounded-lg bg-zinc-500/10">
<svg class="w-4.5 h-4.5 text-zinc-500" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="1.5">
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 1.5H8.25A2.25 2.25 0 0 0 6 3.75v16.5a2.25 2.25 0 0 0 2.25 2.25h7.5A2.25 2.25 0 0 0 18 20.25V3.75a2.25 2.25 0 0 0-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3" />
</svg>
</div>
<div class="flex items-center gap-2">
<h3 class="text-sm font-medium text-zinc-400">IMAP & POP3</h3>
<span class="text-[10px] text-zinc-600 bg-surface-800 px-1.5 py-0.5 rounded">Coming soon</span>
</div>
</div>
<p class="text-xs text-zinc-600 leading-relaxed">Connect desktop and mobile mail clients like Thunderbird, Apple Mail, or Outlook directly to Dove. Retrieve emails over IMAP for synced access or POP3 for download.</p>
</div>
</div>
</div>
|