3.8 KiB
AyrisMail Central
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
iframeiç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 veSentklasö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-sessiontarzı şifreli çerezler
📦 Kurulum ve Çalıştırma
Gereksinimler
- Node.js 20+
- Çalışan bir Mailcow sunucusu
1. Depoyu Klonlayın
git clone https://git.ayris.tech/ayrisdev/webmailserver.git
cd webmailserver
2. Bağımlılıkları Yükleyin
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:
# 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
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.
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
sanitizeHtmlfonksiyonu ile temizlenir ve izoleiframesandbox'ı içerisinde gösterilir.
© 2026 AyrisTech - Tüm hakları saklıdır.