From b8648fb5f7d5d4c02bf34d35381ce80e88ad12f4 Mon Sep 17 00:00:00 2001 From: AyrisAI Date: Thu, 14 May 2026 19:38:55 +0300 Subject: [PATCH] Update README to professional bilingual version --- README.md | 151 +++++++++++++++++++++++------------------------------- 1 file changed, 64 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index 0f74947..c120726 100644 --- a/README.md +++ b/README.md @@ -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. - -## 🚀 Ö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. +[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. --- -© 2026 AyrisTech - Tüm hakları saklıdır. + +## 🌍 Language / Dil +- [Türkçe](#türkçe) +- [English](#english) + +--- + + +## 🇹🇷 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 + ``` + +--- + + +## 🇺🇸 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