E-postalarınız kendi sunucunuzdan çıksın.
SingleMail, uygulamalarınızın e-posta gönderim altyapısı. API, SDK ya da SMTP ile bağlanın; DKIM imzası, kuyruk, webhook ve teslimat takibi hazır gelsin. Hepsi sizin altyapınızda çalışır.
Kredi kartı gerekmez. İsterseniz kendi sunucunuza kurun.
import { SingleMail } from "@singlemail/node"; const sm = new SingleMail(process.env.SINGLEMAIL_API_KEY); await sm.emails.send({ from: "Optik Dünyası <fatura@optik.com.tr>", to: "ayse.yilmaz@gmail.com", subject: "Siparişiniz kargoya verildi", html: receiptHtml, });
Bu e-postanın yolculuğu
- Kuyruğa alındıAPI 38 ms'de yanıt verdi
- DKIM ile imzalandısinglemail._domainkey.optik.com.tr
- Gönderildi250 Ok, relay kabul etti
- Teslim edildigmail.com, 1,2 sn
- Açıldıwebhook: email.opened
Mevcut kodunuza dakikalar içinde bağlanır
Yeni bir proje için SDK'yı, başka bir dilde yazılmış servisler için REST API'yi, kodunu değiştiremediğiniz uygulamalar için SMTP'yi kullanın. Üçü de aynı kuyruğa, aynı loglara düşer.
Node.js SDK
Tip güvenli istemci. Hatalar istisna fırlatmaz, her çağrı { data, error } döner.
npm i @singlemail/node
import { SingleMail } from "@singlemail/node";
const sm = new SingleMail("sm_…");
const { data, error } = await sm.emails.send({
from: "App <no-reply@firma.com>",
to: "musteri@ornek.com",
subject: "Şifre sıfırlama",
html: "<p>Kodunuz: 482913</p>",
});REST API
.NET, PHP, Go, Flutter backend ya da n8n. Tek bir HTTPS isteği yeterli.
curl https://mail.firma.com/emails \
-H "Authorization: Bearer sm_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1042" \
-d '{
"from": "Fatura <fatura@firma.com>",
"to": ["muhasebe@musteri.com"],
"subject": "Ekim faturanız",
"html": "<p>Fatura ektedir.</p>"
}'SMTP
WordPress, Laravel, eski ERP'ler. Kullanıcı adı singlemail, şifre API anahtarınız.
# Laravel .env MAIL_MAILER=smtp MAIL_HOST=mail.firma.com MAIL_PORT=2587 MAIL_USERNAME=singlemail MAIL_PASSWORD=sm_… MAIL_ENCRYPTION=tls
Gelen kutusuna ulaşmak için gerekenler hazır
Domain eklediğinizde SingleMail o domaine özel bir DKIM anahtarı üretir ve eklemeniz gereken DNS kayıtlarını listeler. Kayıtları ekleyip doğrula'ya basmanız yeterli.
- Her domain kendi 2048 bit DKIM anahtarıyla imzalanır.
- SPF, ayrı bir Return-Path alt domaininde kontrol edilir; mevcut SPF kaydınıza dokunulmaz.
- Kalıcı olarak geri dönen (hard bounce) ya da şikâyet eden adreslere tekrar gönderilmez.
- Gmail ve Yahoo'nun toplu gönderici kurallarına (DMARC, düşük şikâyet oranı) uygun başlarsınız.
| Tür | Ad | Değer | Durum |
|---|---|---|---|
| TXT | singlemail._domainkey | v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt3x… | Doğrulandı |
| MX | send | 10 feedback-smtp.eu-central-1… | Doğrulandı |
| TXT | send | v=spf1 include:amazonses.com ~all | Doğrulandı |
| TXT | _dmarc | v=DMARC1; p=none; rua=mailto:… | Doğrulandı |
Günlük işte ihtiyaç duyacağınız her şey
- Zamanlanmış gönderim
- "in 2 hours" ya da ISO tarih verin; göndermeden önce iptal edin veya erteleyin.
- Toplu gönderim
- Tek istekte 100 e-posta. Bildirim ve rapor gönderimleri için.
- Idempotency
- Aynı anahtarla gelen ikinci istek yeni e-posta oluşturmaz. Ağ hatasında güvenle tekrar deneyin.
- Açılma ve tıklama takibi
- Domain bazında açılıp kapatılır. Linkler imzalıdır, sahte olay üretilemez.
- İmzalı webhook'lar
- Gönderildi, teslim edildi, açıldı, geri döndü… Başarısız istekler artan aralıklarla 8 kez tekrar denenir.
- Proje bazında ayrım
- Her müşteri ya da ürün ayrı proje: kendi domainleri, anahtarları, logları ve kotası.
- Yetkili API anahtarları
- Tam yetkili ya da sadece gönderim yapabilen, tek domaine kilitli anahtarlar.
- Denetim kaydı
- Panelde kimin neyi ne zaman değiştirdiği kayıt altında.
Veriniz sizin sunucunuzda kalır
SingleMail tek bir docker compose dosyasıyla kurulur: Postgres, Redis, API, gönderim servisi ve SMTP girişi. Coolify, Proxmox ya da herhangi bir Linux sunucuda çalışır. E-posta içerikleri ve loglar sizin veritabanınızda tutulur; KVKK kapsamındaki projeler için bu fark önemlidir.
Teslimat için Amazon SES, kendi Postfix sunucunuz ya da herhangi bir SMTP relay'i kullanabilirsiniz. Değiştirmek tek bir ayardır.
git clone …/singlemail && cd singlemail cp .env.example .env # relay, domain, secret docker compose up -d pnpm sm admin:create siz@firma.com "…"
İki panel, iki ayrı iş
Müşteri paneli
Projenin sahipleri e-posta loglarını ve HTML önizlemelerini görür; domain, API anahtarı, webhook ve engelli adresleri yönetir.
Yönetici paneli
Platformu işleten ekip tüm projeleri, kullanıcıları, kuyrukları ve sistem sağlığını tek yerden izler; proje askıya alır, kota koyar, herhangi bir hesabın gözünden bakar.
Kurulumdan ilk e-postaya, adım adım
Dokümanlar her ekranı gerçek panel görüntüleriyle anlatır: domain eklemekten webhook doğrulamaya, kendi sunucunuza kurulumdan yönetici paneline kadar.
- İlk e-postanızHesap, domain, DNS, API anahtarı ve ilk gönderim.
- Müşteri paneliLoglar, durumların anlamı, anahtar yetkileri, ekip.
- EntegrasyonlarNode.js, PHP, .NET, Python, Laravel, WordPress, n8n.
- Kendi sunucunuza kurunDocker Compose, .env, Amazon SES, Coolify.
