2026-05-14 19:09:09 +03:00
2026-05-14 01:57:52 +03:00
2026-05-14 01:57:52 +03:00
2026-05-14 00:29:28 +03:00
2026-05-14 00:29:28 +03:00
2026-05-14 01:57:52 +03:00
2026-05-14 01:57:52 +03:00

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 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

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 sanitizeHtml fonksiyonu ile temizlenir ve izole iframe sandbox'ı içerisinde gösterilir.

© 2026 AyrisTech - Tüm hakları saklıdır.

Description
No description provided
Readme 618 KiB
Languages
TypeScript 88.7%
CSS 10.5%
Dockerfile 0.5%
JavaScript 0.3%