Update README to professional bilingual version

This commit is contained in:
AyrisAI
2026-05-14 19:38:55 +03:00
parent 123d2c8d54
commit b8648fb5f7

151
README.md
View File

@@ -1,90 +1,67 @@
# AyrisMail Central # 🚀 AyrisMail Unified System
AyrisMail Central, Mailcow altyapısı üzerine inşa edilmiş, **veritabanı gerektirmeyen (Database-less)**, modern ve hızlı bir Webmail ve E-posta Yönetim İstemcisidir. Next.js App Router kullanılarak geliştirilmiştir ve kullanıcı e-posta güvenliğini en üst düzeyde tutmak için şifreleri veritabanında saklamaz; bunun yerine güvenli, şifrelenmiş çerezler (cookies) aracılığıyla doğrudan IMAP ve SMTP sunucularıyla iletişim kurar. [TR] Mailcow altyapısı için geliştirilmiş, gerçek zamanlı bildirim ve e-posta yönetim platformu.
[EN] Real-time notification and email management platform developed for Mailcow infrastructure.
## 🚀 Özellikler
- **Modern ve Responsive Arayüz:** Gmail tarzı 3 sütunlu (Klasörler - Liste - Detay) "Glassmorphism" esintili karanlık tema tasarımı. Mobil uyumlu.
- **Database-less Mimari:** Kullanıcıların e-posta parolaları veritabanında saklanmaz. Her oturum doğrudan Mailcow IMAP/SMTP üzerinden doğrulanır.
- **Çoklu Kiracı (Multi-tenant) Yönetimi:** `.env` üzerinden tanımlanan roller (`SUPER_ADMIN`, `DOMAIN_ADMIN`) ile domain bazlı yetkilendirme.
- **Gelişmiş Mail Yönetimi:**
- Gelen kutusu, gönderilenler, çöp kutusu ve özel klasörler arası anında senkronizasyon.
- Mail okuma, yanıtlama, silme ve taşıma işlemleri.
- **Ek Dosya Desteği:**
- Gelen maillerdeki ekleri (PDF, Resim, Office dosyaları vb.) indirme ve önizleme.
- Yeni mail gönderirken Sürükle-Bırak (Drag & Drop) ile kolay dosya ekleme.
- **Güvenli HTML Render:** Gelen e-postalar, potansiyel XSS açıklarına karşı sanitize edilerek güvenli bir `iframe` içerisinde render edilir.
## 🛠️ Teknoloji Yığını
- **Frontend & Backend:** Next.js 16 (App Router, Turbopack)
- **Stil & Tasarım:** Özel CSS (Tailwind reset üzerine inşa edilmiş modern UI)
- **IMAP İstemcisi:** `imapflow` (Klasör okuma, mesaj çekme, taşıma, silme)
- **SMTP İstemcisi:** `nodemailer` (Mail gönderimi ve `Sent` klasörüne APPEND işlemi)
- **E-posta Ayrıştırma:** `mailparser` (Gelen raw RFC822 verilerini anlamlandırma)
- **Kimlik Doğrulama:** NextAuth.js (Custom Credentials Provider) & `iron-session` tarzı şifreli çerezler
## 📦 Kurulum ve Çalıştırma
### Gereksinimler
- Node.js 20+
- Çalışan bir Mailcow sunucusu
### 1. Depoyu Klonlayın
```bash
git clone https://git.ayris.tech/ayrisdev/webmailserver.git
cd webmailserver
```
### 2. Bağımlılıkları Yükleyin
```bash
npm install --legacy-peer-deps
```
### 3. Çevresel Değişkenleri (.env) Ayarlayın
Proje dizininde bir `.env` dosyası oluşturun ve aşağıdaki değerleri kendi sunucunuza göre düzenleyin:
```env
# Mailcow API & IMAP/SMTP Sunucusu
MAILCOW_API_URL="https://mail.yourdomain.com"
MAILCOW_API_KEY="YOUR_MAILCOW_SUPER_ADMIN_API_KEY"
# NextAuth Güvenlik
NEXTAUTH_URL="http://localhost:3000"
AUTH_SECRET="super-secret-32-character-random-string"
# IMAP & SMTP Portları (Gerekirse)
IMAP_PORT=993
SMTP_PORT=587
# Multi-tenant Kullanıcı Tanımları (DB Kullanılmadığı İçin)
USER_0_NAME="Admin User"
USER_0_EMAIL="admin@yourdomain.com"
USER_0_PASSWORD="admin_password"
USER_0_ROLE="SUPER_ADMIN"
USER_0_DOMAINS="*"
```
### 4. Geliştirme Sunucusunu Başlatın
```bash
npm run dev
```
Uygulama `http://localhost:3000` adresinde çalışmaya başlayacaktır.
## 🐳 Docker ile Kurulum (Production)
Proje, standalone modda production için optimize edilmiş bir `Dockerfile` içerir. Coolify, CapRover veya standart Docker ortamlarında kolayca çalıştırılabilir.
```bash
docker build -t ayrismail-central .
docker run -p 3000:3000 --env-file .env ayrismail-central
```
## 🔒 Güvenlik Yaklaşımı
- **Veri Saklanmaz:** E-postalar ve şifreler sunucuda barındırılmaz, her istekte Mailcow'dan anlık olarak çekilir.
- **TLS/SSL:** IMAP ve SMTP bağlantıları `secure: true` (veya STARTTLS) zorunluluğu ile çalışır.
- **XSS Koruması:** E-posta içerikleri `sanitizeHtml` fonksiyonu ile temizlenir ve izole `iframe` sandbox'ı içerisinde gösterilir.
--- ---
© 2026 AyrisTech - Tüm hakları saklıdır.
## 🌍 Language / Dil
- [Türkçe](#türkçe)
- [English](#english)
---
<a name="türkçe"></a>
## 🇹🇷 Türkçe
AyrisMail, Mailcow sunucularını akıllı bir bildirim merkezine dönüştüren kapsamlı bir çözümdür. Sunucu seviyesindeki mailleri anlık olarak izler, analiz eder ve kullanıcı bazlı Telegram bildirimleri fırlatır.
### ✨ Öne Çıkan Özellikler
- **Anlık Bildirimler:** Worker motoru sayesinde mail sunucuya düştüğü anda Telegram bildirimi.
- **Akıllı Kod Çözücü:** RFC 2047 (MIME) desteği ile Türkçe karakterli ve kodlanmış başlıkları otomatik çözer.
- **Gelişmiş Panel:** Mailbox-Kullanıcı eşleşmelerini ve bildirim loglarını yönetebileceğiniz modern arayüz.
- **Güvenli Mimari:** Docker tabanlı, PostgreSQL veritabanlı ve Webhook korumalı yapı.
- **Çoklu Kullanıcı:** Her kullanıcı sadece kendine atanan mail kutularının bildirimlerini alır.
### 🛠️ Teknoloji Yığını
- **Core:** Next.js 16 (App Router), TypeScript
- **Database:** PostgreSQL & Prisma ORM
- **Worker:** Node.js, Chokidar (File Watcher), Doveadm
- **Deployment:** Docker & Docker Compose
### 🚀 Hızlı Kurulum
1. `.env.example` dosyasını `.env` olarak kopyalayın ve bilgilerinizi girin.
2. Sistemi başlatın:
```bash
docker compose -f docker-compose.unified.yml up -d --build
```
---
<a name="english"></a>
## 🇺🇸 English
AyrisMail is a comprehensive solution that transforms Mailcow servers into an intelligent notification hub. It monitors server-level emails in real-time, analyzes them, and triggers user-based Telegram alerts.
### ✨ Key Features
- **Instant Notifications:** Telegram alerts triggered the moment an email hits the server via our custom Worker engine.
- **Smart MIME Decoder:** Automatically decodes RFC 2047 encoded subjects (UTF-8, Base64, etc.) for readable notifications.
- **Advanced Dashboard:** Modern UI to manage Mailbox-to-User mappings and track notification logs.
- **Secure Architecture:** Docker-based setup with PostgreSQL and protected Webhook signals.
- **Multi-Tenant:** Each user receives notifications only for their assigned mailboxes.
### 🛠️ Tech Stack
- **Core:** Next.js 16 (App Router), TypeScript
- **Database:** PostgreSQL & Prisma ORM
- **Worker:** Node.js, Chokidar (File Watcher), Doveadm
- **Deployment:** Docker & Docker Compose
### 🚀 Quick Start
1. Copy `.env.example` to `.env` and fill in your credentials.
2. Start the system:
```bash
docker compose -f docker-compose.unified.yml up -d --build
```
---
© 2026 AyrisTech - Advanced Agentic Coding Systems