CSV tabanli toplu e-posta gonderimi icin React + Tailwind + Express uygulamasi.
- SMTP ayarlarini test etme ve oturum bazli saklama
- CSV yukleme veya elle liste girme, baslik algilama ve ilk 5 satir onizleme
- E-posta sutunu secimi ve gecersiz satir uyarilari
- Konu ve govde icin
{{etiket}}destekli kisilestirme - Zengin metin veya ham HTML sablon duzenleme
- Sablon ekranindan tek tikla test gonderimi
- Kisiye ozel klasor eki veya herkese ayni giden sabit ek secimi
- IMAP APPEND ile gonderilen postalari Sent klasorune kaydetme
- Saniye bazli gonderim hizi ve tekrar deneme ayarlari
- CC, BCC ve Reply-To secenekleri
- SSE benzeri event stream ile canli ilerleme ve satir loglari
- Duraklat, devam et, iptal et ve basarisiz satirlari CSV indirme
- Koyu/acik tema ve Turkce/English dil secimi
npm install
npm run build
npm startNot:
npm startkomutu client tarafini yeniden build eder ve Express sunucusunu baslatir.- Varsayilan sunucu adresi
http://localhost:3001olur. - Gelistirme icin istersen
npm run devkullanabilirsin.
- SMTP sifresi frontend'e geri donmez ve
localStorage'a yazilmaz. Sentkaydi icin SMTP kullanici adi/sifresi IMAP tarafinda da tekrar kullanilir.- Gmail icin tipik kombinasyon:
smtp.gmail.com:465veimap.gmail.com:993 - Hostinger gibi saglayicilarda kendi SMTP/IMAP host ve portlarini kullanabilirsin.
Sentklasor adini arayuzden degistirebilirsin. Genel varsayilanSent, Gmail'de sik kullanilan alternatif[Gmail]/Sent Mailolabilir.
- Google hesabinda 2-Step Verification ozelligini ac.
- Google Account > Security > App passwords ekranina git.
- Yeni bir uygulama sifresi olustur.
- SMTP ayarlarinda:
- Host:
smtp.gmail.com - Port:
465 - Security:
SSL/TLS - Username: Gmail adresin
- Password: Olusturdugun App Password
- Host:
- Host:
smtp.office365.com - Port:
587 - Security:
STARTTLS - Username: tam e-posta adresi
- Password: hesap sifresi veya kurumun verdigi uygulama sifresi
isim,email,ders,cc_adresi
Ayse,ayse@example.com,Matematik,koordinator@example.com
Mehmet,mehmet@example.com,Fizik,danisman@example.com
Zeynep,zeynep@example.com,Kimya,ekip@example.comOrnek konu:
Merhaba {{isim}}, {{ders}} kaydin hazir
Ornek govde:
<p>Merhaba <strong>{{isim}}</strong>,</p>
<p>{{ders}} dersi icin kaydin basariyla olusturuldu.</p>
<p>Sorularin icin bize yanit verebilirsin.</p>POST /api/smtp/testPOST /api/email/sendPOST /api/email/send-bulkGET /api/email/statusPOST /api/email/cancel
- Multi-stage
Dockerfileclient build + production server runtime icerir. docker-compose.ymltek servisle calisacak sekilde hazirdir.- GHCR build/push workflow'u:
.github/workflows/docker-build.yml - Ayrintili adimlar icin DEPLOYMENT.md dosyasina bak.
- SMTP sifresi frontend'e geri donmez.
- Sifre localStorage'a yazilmaz, yalnizca backend oturum bellekte tutulur.
- Rate limit dakikada en fazla 500 istek olarak ayarlidir.
- CSV boyutu 10MB, satir limiti 50.000'dir.
- Toplu gonderimde her aliciya ayri mail gonderilir; alicilar birbirini gormez.