Yandex Mail Alternatifi: Cloudflare Workers ile Ücretsiz Kurumsal E-posta Kurulumu
Yandex Mail for Domain hizmetinin kapanması, Zoho Mail’in ücretsiz planını kısıtlaması ve Google Workspace’in tamamen ücretli hale gelmesiyle birlikte, kendi alan adıyla ücretsiz kurumsal e-posta kullanmak isteyenler için seçenekler oldukça azaldı.
Bu noktada açık kaynaklı Cloud-Mail projesi, Cloudflare altyapısını kullanarak kendi alan adınızla e-posta alıp göndermenize olanak sağlayan güçlü bir alternatif sunuyor.
Bu rehberde Cloud-Mail kullanarak kendi domaininiz üzerinde e-posta adresleri oluşturmayı, gelen e-postaları yönetmeyi, Resend üzerinden e-posta göndermeyi ve sistemi Cloudflare Workers üzerinde yayınlamayı adım adım anlatacağım.
Yandex Mail for Domain Neden Kapandı?
Yandex, alan adına özel e-posta hizmetini Yandex 360 for Business adı altında ücretli bir sisteme dönüştürdü. Mevcut kullanıcılar belirli bir süre ücretsiz kullanmaya devam edebilse de yeni ücretsiz domain kaydı kabul edilmemeye başlandı.
Bunun yanında Türkiye’den zaman zaman yaşanan erişim ve doğrulama sorunları da kullanıcıları alternatif hizmetlere yöneltti.
Mevcut Kurumsal E-posta Alternatifleri
| Hizmet | Ücretsiz Plan | Dezavantaj |
|---|---|---|
| Zoho Mail | 5 kullanıcı, 5 GB | Ücretsiz planda IMAP ve POP desteği bulunmayabilir |
| Google Workspace | Yok | Kullanıcı başına aylık ücret |
| Microsoft 365 | Yok | Kullanıcı başına aylık ücret |
| Yandex 360 | Yeni kayıt yok | Ücretsiz domain kaydı kapalı |
| ImprovMX | Sınırlı | Temel olarak e-posta yönlendirme hizmeti |
| Cloud-Mail | Cloudflare limitleri dahilinde ücretsiz | Kurulum ve yapılandırma kullanıcıya ait |
Cloud-Mail Nedir?
Cloud-Mail, Cloudflare Workers altyapısı üzerinde çalışan açık kaynaklı bir e-posta yönetim projesidir.
Gelen e-postalar Cloudflare Email Routing üzerinden Worker’a aktarılır. E-postalar Cloudflare D1 veritabanında saklanır. Giden e-postalar ise Resend gibi haricî bir e-posta gönderim hizmeti üzerinden iletilir.
Bu yapı sayesinde klasik bir e-posta sunucusu kurmadan kendi alan adınızla web tabanlı bir e-posta sistemi oluşturabilirsiniz.
Öne Çıkan Özellikler
- Kendi alan adınızla birden fazla e-posta adresi oluşturma
- Modern ve mobil uyumlu web arayüzü
- E-posta gönderme ve alma
- Çoklu kullanıcı desteği
- Kullanıcı ve rol yönetimi
- PWA desteği
- Telegram bildirim entegrasyonu
- Yapay zekâ destekli doğrulama kodu çıkarma
- Cloudflare ücretsiz planında kullanılabilme
- Açık kaynak kodlu yapı
Kurulum İçin Gerekenler
Kuruluma başlamadan önce aşağıdaki hesap ve uygulamalara ihtiyacınız bulunmaktadır:
- Ücretsiz bir Cloudflare hesabı
- Cloudflare DNS yönetimine eklenmiş bir alan adı
- Mail gönderimi için Resend hesabı
- Bilgisayarınızda Node.js 18 veya üzeri
- pnpm paket yöneticisi
- Git
1. Cloud-Mail Projesini İndirin
Terminali veya komut istemini açarak aşağıdaki komutları çalıştırın:
git clone https://github.com/maillab/cloud-mail.git
cd cloud-mail/mail-worker
pnpm install
Bu komutlar Cloud-Mail projesini bilgisayarınıza indirecek ve Worker için gerekli paketleri yükleyecektir.
2. Cloudflare Hesabınıza Giriş Yapın
Wrangler üzerinden Cloudflare hesabınıza giriş yapmak için aşağıdaki komutu çalıştırın:
npx wrangler login
Komutu çalıştırdığınızda tarayıcınız açılacak ve Cloudflare hesabınız için yetkilendirme yapmanız istenecektir.
3. D1 Veritabanı Oluşturun
Cloud-Mail, e-postaları ve kullanıcı bilgilerini saklamak için Cloudflare D1 kullanır.
D1 veritabanını oluşturmak için:
npx wrangler d1 create cloud-mail-db
Komut tamamlandığında terminalde bir database_id gösterilecektir. Bu kimliği daha sonra kullanacağımız için bir yere kaydedin.
4. KV Namespace Oluşturun
Cloudflare KV alanını oluşturmak için aşağıdaki komutu çalıştırın:
npx wrangler kv namespace create kv
Komut çıktısında gösterilen KV kimliğini de kaydedin.
5. wrangler.toml Dosyasını Yapılandırın
mail-worker/wrangler.toml dosyasını bir metin editörüyle açın ve aşağıdaki örneğe göre düzenleyin:
name = "cloud-mail"
main = "src/index.js"
compatibility_date = "2026-08-05"
keep_vars = true
[observability]
enabled = true
[[d1_databases]]
binding = "db"
database_name = "cloud-mail-db"
database_id = "D1_ID_BURAYA"
[[kv_namespaces]]
binding = "kv"
id = "KV_ID_BURAYA"
[ai]
binding = "ai"
[assets]
binding = "assets"
directory = "./dist"
not_found_handling = "single-page-application"
run_worker_first = true
[triggers]
crons = ["0 16 * * *"]
[vars]
domain = ["sizindomain.com"]
admin = "[email protected]"
jwt_secret = "rastgele-guclu-bir-sifre"
[build]
command = "pnpm --prefix ../mail-vue install && pnpm --prefix ../mail-vue run build"
Değiştirmeniz Gereken Alanlar
D1_ID_BURAYA: D1 oluştururken verilen veritabanı kimliğiKV_ID_BURAYA: KV oluştururken verilen namespace kimliğisizindomain.com: Kullanacağınız alan adı[email protected]: Yönetici e-posta adresijwt_secret: Tahmin edilmesi zor, uzun ve rastgele bir güvenlik anahtarı
jwt_secret alanında kısa veya kolay tahmin edilebilir bir parola kullanmayın. Büyük ve küçük harf, rakam ve özel karakterlerden oluşan uzun bir değer belirleyin.6. Cloud-Mail Worker’ını Yayınlayın
Worker’ı Cloudflare üzerine yüklemek ve özel alan adınızı bağlamak için aşağıdaki komutu kullanabilirsiniz:
npx wrangler deploy --domain mail.sizindomain.com
Buradaki mail.sizindomain.com bölümünü kullanmak istediğiniz alt alan adıyla değiştirin.
Örneğin alan adınız ornek.com ise aşağıdaki gibi kullanabilirsiniz:
npx wrangler deploy --domain mail.ornek.com
Deploy işlemi sırasında web arayüzü oluşturulur, Worker Cloudflare’a yüklenir ve destekleniyorsa özel alan adı Worker’a bağlanır.
7. Veritabanını Başlatın
Worker yayınlandıktan sonra veritabanı tablolarını oluşturmak için tarayıcınızdan başlangıç adresini açın:
https://mail.sizindomain.com/api/init/jwt_secret_degeriniz
Buradaki jwt_secret_degeriniz kısmına wrangler.toml dosyasında belirlediğiniz gerçek jwt_secret değerini yazın.
İşlem başarılı olduğunda ekranda success benzeri bir yanıt görmeniz gerekir.
8. Cloudflare Email Routing Ayarlarını Yapın
Alan adınıza gelen e-postaların Cloud-Mail Worker’ına ulaşması için Cloudflare Email Routing özelliğini etkinleştirmeniz gerekir.
- Cloudflare Dashboard’a giriş yapın.
- Cloud-Mail için kullanacağınız alan adını seçin.
- Email bölümüne girin.
- Email Routing sayfasını açın.
- Email Routing özelliğini etkinleştirin.
- Cloudflare’ın istediği MX ve TXT kayıtlarını onaylayın.
- Catch-all veya yönlendirme kuralı oluşturun.
- Hedef olarak Send to a Worker seçeneğini belirleyin.
- Worker olarak cloud-mail projesini seçin.
Catch-all etkinleştirildiğinde alan adınızdaki tanımlanmamış adreslere gönderilen e-postalar da Worker tarafından karşılanabilir.
Örneğin aşağıdaki adreslere gelen mesajlar Cloud-Mail tarafından işlenebilir:
9. Resend ile E-posta Gönderimini Ayarlayın
Cloudflare Email Routing temel olarak gelen e-postaların işlenmesini sağlar. Dışarıya e-posta göndermek için Cloud-Mail içerisinde Resend gibi ayrı bir gönderim hizmeti kullanılır.
- Resend web sitesine giderek hesap oluşturun.
- Resend panelinde Domains bölümünü açın.
- Add Domain seçeneğiyle alan adınızı ekleyin.
- Resend tarafından verilen DNS kayıtlarını Cloudflare DNS bölümüne ekleyin.
- DKIM, SPF ve Return-Path kayıtlarının doğrulanmasını bekleyin.
- Domain doğrulandıktan sonra API Keys bölümüne girin.
- Yeni bir API anahtarı oluşturun.
Daha sonra Cloud-Mail yönetim paneline giriş yaparak Ayarlar bölümündeki Resend Tokens alanına aşağıdaki formatta API anahtarınızı ekleyin:
{
"sizindomain.com": "re_BURAYA_API_KEY"
}
Birden fazla alan adı kullanıyorsanız her domain için ayrı bir tanımlama yapabilirsiniz:
{
"birincidomain.com": "re_BIRINCI_API_KEY",
"ikincidomain.com": "re_IKINCI_API_KEY"
}
10. İlk Yönetici Hesabını Oluşturun
Kurulum tamamlandıktan sonra aşağıdaki adrese gidin:
https://mail.sizindomain.com
Kayıt ekranından yönetici hesabınızı oluşturun. Projenin yapılandırmasına bağlı olarak kullanıcı adını yalnızca admin şeklinde girmeniz yeterli olabilir ve domain otomatik olarak eklenebilir.
Giriş yaptıktan sonra yönetici paneli üzerinden kullanıcıları, e-posta adreslerini ve sistem ayarlarını yönetebilirsiniz.
Cloud-Mail ile Neler Yapabilirsiniz?
Birden Fazla E-posta Adresi Oluşturma
Yönetim panelinden ihtiyacınıza göre farklı e-posta adresleri oluşturabilirsiniz:
Oluşturabileceğiniz adres sayısı, uygulamanın teknik yapısı ile Cloudflare ve gönderim servisinin kullanım limitlerine bağlıdır.
Çoklu Kullanıcı Yönetimi
Ekibinizdeki kişiler için ayrı kullanıcı hesapları oluşturabilir, roller tanımlayabilir ve kullanıcıların erişebileceği alanları sınırlandırabilirsiniz.
Telegram Bildirimleri
Telegram bot token ve chat ID bilgilerini sisteme ekleyerek yeni bir e-posta geldiğinde Telegram üzerinden bildirim alabilirsiniz.
Davet Kodu Sistemi
Kayıt işlemini herkese açık bırakmak yerine davet koduyla sınırlandırabilirsiniz. Böylece yalnızca sizin oluşturduğunuz davet koduna sahip kişiler sisteme kayıt olabilir.
PWA Desteği
Cloud-Mail web arayüzü desteklenen cihazlarda ana ekrana eklenerek mobil uygulamaya benzer şekilde kullanılabilir.
Maliyet Karşılaştırması
| Özellik | Cloud-Mail | Google Workspace | Zoho Mail | Yandex 360 |
|---|---|---|---|---|
| Aylık ücret | Cloudflare limitleri dahilinde ücretsiz | Kullanıcı başına ücretli | Plana göre ücretli | Ücretli |
| E-posta adresi | Yapılandırmaya bağlı | Plana bağlı | Plana bağlı | Plana bağlı |
| Depolama | Cloudflare D1 limitlerine bağlı | Plana bağlı | Plana bağlı | Plana bağlı |
| Özel alan adı | Evet | Evet | Evet | Evet |
| Web arayüzü | Evet | Evet | Evet | Evet |
| Kaynak kodu kontrolü | Evet | Hayır | Hayır | Hayır |
Ücretsiz Plan Limitleri
Cloud-Mail’in tamamen limitsiz bir e-posta hizmeti olmadığını unutmamak gerekir. Sistem, kullandığınız Cloudflare ve Resend planlarının limitleri içerisinde çalışır.
Dikkate alınması gereken başlıca limitler şunlardır:
- Cloudflare Workers günlük istek limiti
- Cloudflare D1 veritabanı boyutu ve okuma-yazma limitleri
- Cloudflare KV okuma ve yazma limitleri
- Cloudflare Email Routing kullanım koşulları
- Resend günlük ve aylık e-posta gönderim limitleri
Bu limitler zaman içerisinde değişebileceği için kurulum öncesinde Cloudflare ve Resend’in güncel fiyatlandırma sayfalarını kontrol etmeniz önerilir.
Cloud-Mail Kullanmanın Avantajları
- Ayrı bir VPS veya fiziksel sunucu gerektirmez.
- Postfix ve Dovecot gibi servislerle uğraşmanız gerekmez.
- Cloudflare altyapısı üzerinde çalışır.
- Açık kaynak kodlu olduğu için özelleştirilebilir.
- Küçük ekipler ve kişisel projeler için düşük maliyetlidir.
- Web tabanlı modern bir yönetim arayüzü sunar.
Dikkat Edilmesi Gerekenler
Cloud-Mail klasik anlamda eksiksiz bir SMTP, IMAP ve POP3 sunucusunun birebir karşılığı değildir. Sistem temel olarak Cloudflare Email Routing, Workers, D1 ve haricî gönderim servislerinin birlikte çalışmasına dayanır.
Bu nedenle aşağıdaki konuları dikkate almalısınız:
- Outlook veya Thunderbird gibi uygulamalarda doğrudan IMAP kullanımı desteklenmeyebilir.
- Gönderim limitleri Resend planınıza bağlıdır.
- Cloudflare hesabınızın güvenliği doğrudan e-posta sisteminizi etkiler.
- D1 veritabanı yedeklerinin düzenli olarak alınması önerilir.
- API anahtarları ve JWT anahtarı kesinlikle paylaşılmamalıdır.
- Önemli ve kritik kurumsal iletişimlerde ücretli ve SLA sunan hizmetler daha uygun olabilir.
Sonuç
Cloud-Mail, kendi alan adıyla ücretsiz veya düşük maliyetli bir web tabanlı e-posta sistemi kurmak isteyenler için dikkat çekici bir açık kaynak alternatifidir.
Cloudflare Workers sayesinde ayrı bir sunucu kiralamadan e-posta alabilir, D1 üzerinde mesajları saklayabilir ve Resend entegrasyonu üzerinden dışarıya e-posta gönderebilirsiniz.
Özellikle kişisel projeler, test ortamları, küçük işletmeler ve sınırlı e-posta trafiğine sahip ekipler için değerlendirilebilir. Bununla birlikte sistemin Cloudflare ve Resend limitlerine bağlı olduğu, klasik IMAP destekli kurumsal e-posta hizmetleriyle tamamen aynı özellikleri sunmadığı unutulmamalıdır.
Proje bağlantısı: GitHub – maillab/cloud-mail
Bu rehberde anlatılan kurulumu kendi alan adım üzerinde test ederek çalıştığını doğruladım. Kurulum sırasında karşılaştığınız sorunları yorum bölümünden paylaşabilirsiniz.