E-posta RFC Protokol Desteği - Tam Standartlar ve Spesifikasyonlar Rehberi
Bu Belge Hakkında
Bu belge, Forward Email için RFC (Yorumlar Talebi) protokol desteğini özetlemektedir. Forward Email, IMAP/POP3 işlevselliği için altında WildDuck kullandığından, burada belgelenen protokol desteği ve sınırlamalar WildDuck'ın uygulamasını yansıtmaktadır.
Important
Forward Email, mesaj depolama için MongoDB yerine SQLite kullanır (WildDuck başlangıçta MongoDB kullanıyordu). Bu, aşağıda belgelenen bazı uygulama detaylarını etkiler.
Kaynak Kodu: https://github.com/forwardemail/forwardemail.net
Mimari Genel Bakış
E-posta Servisi Karşılaştırması - Protokol Desteği & RFC Standartlarına Uyum
Important
Sandboxlanmış ve Kuantum Dirençli Şifreleme: Forward Email, şifrenizi kullanarak bireysel olarak şifrelenmiş SQLite posta kutularını depolayan tek e-posta servisidir (şifre sadece sizde vardır). Her posta kutusu sqleet (ChaCha20-Poly1305) ile şifrelenmiş, kendi içinde bağımsız, sandboxlanmış ve taşınabilirdir. Şifrenizi unutursanız posta kutunuzu kaybedersiniz - Forward Email bile kurtaramaz. Detaylar için Quantum-Safe Encrypted Email sayfasına bakınız.
Büyük e-posta sağlayıcıları arasında e-posta protokol desteği ve RFC standartlarının uygulanmasını karşılaştırın:
| Özellik | Forward Email | Postfix/Dovecot | Gmail | iCloud Mail | Outlook.com | Fastmail | Yahoo/AOL (Verizon) | ProtonMail | Tutanota |
|---|---|---|---|---|---|---|---|---|---|
| Özel Alan Adı Ücreti | Ücretsiz | Ücretsiz | $7.20/ay | $0.99/ay | $7.20/ay | $5/ay | $3.19/ay | $4.99/ay | $3.27/ay |
| IMAP4rev1 (RFC 3501) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ⚠️ Köprü Üzerinden | ❌ Desteklenmiyor |
| IMAP4rev2 (RFC 9051) | ⚠️ Kısmi | ⚠️ Kısmi | ⚠️ %31 | ⚠️ %92 | ⚠️ %46 | ⚠️ %69 | ⚠️ %85 | ⚠️ Köprü Üzerinden | ❌ Desteklenmiyor |
| POP3 (RFC 1939) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ⚠️ Köprü Üzerinden | ❌ Desteklenmiyor |
| SMTP (RFC 5321) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ⚠️ Köprü Üzerinden | ❌ Desteklenmiyor |
| JMAP (RFC 8620) | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor |
| DKIM (RFC 6376) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor |
| SPF (RFC 7208) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor |
| DMARC (RFC 7489) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor |
| ARC (RFC 8617) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor |
| MTA-STS (RFC 8461) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor |
| DANE (RFC 7671) | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor |
| DSN (RFC 3461) | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor | ⚠️ Bilinmiyor | ❌ Desteklenmiyor | ⚠️ Köprü Üzerinden | ❌ Desteklenmiyor |
| REQUIRETLS (RFC 8689) | ✅ Destekleniyor | ✅ Destekleniyor | ⚠️ Bilinmiyor | ⚠️ Bilinmiyor | ⚠️ Bilinmiyor | ⚠️ Bilinmiyor | ⚠️ Bilinmiyor | ⚠️ Köprü Üzerinden | ❌ Desteklenmiyor |
| ManageSieve (RFC 5804) | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor |
| OpenPGP (RFC 9580) | ✅ Destekleniyor | ⚠️ Eklentilerle | ⚠️ Üçüncü taraf | ⚠️ Üçüncü taraf | ⚠️ Üçüncü taraf | ⚠️ Üçüncü taraf | ⚠️ Üçüncü taraf | ✅ Yerel | ❌ Desteklenmiyor |
| S/MIME (RFC 8551) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ⚠️ Kısmi | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor |
| CalDAV (RFC 4791) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Köprü Üzerinden | ❌ Desteklenmiyor |
| CardDAV (RFC 6352) | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Köprü Üzerinden | ❌ Desteklenmiyor |
| Görevler (VTODO) | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor |
| Sieve (RFC 5228) | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor |
| Catch-All | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ❌ Desteklenmiyor | ✅ Destekleniyor |
| Sınırsız Takma Adlar | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor |
| İki Faktörlü Kimlik Doğrulama | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor |
| Push Bildirimleri | ✅ Destekleniyor | ⚠️ Eklentilerle | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor |
| Takvim/Rehber Masaüstü | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor |
| Gelişmiş Arama | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor | ✅ Destekleniyor |
| API/Entegrasyonlar | ✅ 39 Uç Nokta | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ✅ Destekleniyor | ❌ Desteklenmiyor | ✅ Destekleniyor | ❌ Desteklenmiyor |
Protokol Desteği Görselleştirmesi
Temel E-posta Protokolleri
E-posta Protokol Akışı
IMAP4 E-posta Protokolü ve Uzantıları
Note
Forward Email, IMAP4rev1 (RFC 3501) ve IMAP4rev2 (RFC 9051) özelliklerinin kısmi desteği ile uyumludur.
Forward Email, WildDuck posta sunucusu uygulaması aracılığıyla sağlam IMAP4 desteği sunar. Sunucu, IMAP4rev1 (RFC 3501) protokolünü IMAP4rev2 (RFC 9051) uzantılarının kısmi desteği ile uygular.
Forward Email'in IMAP işlevselliği, WildDuck bağımlılığı tarafından sağlanmaktadır. Aşağıdaki e-posta RFC'leri desteklenmektedir:
| RFC | Başlık | Uygulama Notları |
|---|---|---|
| RFC 3501 | İnternet Mesaj Erişim Protokolü (IMAP) - Sürüm 4rev1 | Tam destek, kasıtlı farklılıklar ile (aşağıya bakınız) |
| RFC 2177 | IMAP4 IDLE komutu | Push tarzı bildirimler |
| RFC 2342 | IMAP4 Ad Alanı | Posta kutusu ad alanı desteği |
| RFC 2087 | IMAP4 QUOTA uzantısı | Depolama kota yönetimi |
| RFC 2971 | IMAP4 ID uzantısı | İstemci/sunucu tanımlaması |
| RFC 5161 | IMAP4 ENABLE Uzantısı | IMAP uzantılarını etkinleştirme |
| RFC 4959 | SASL İlk İstemci Yanıtına Yönelik IMAP Uzantısı (SASL-IR) | İlk istemci yanıtı |
| RFC 3691 | IMAP4 UNSELECT komutu | EXPUNGE olmadan posta kutusunu kapatma |
| RFC 4315 | IMAP UIDPLUS uzantısı | Gelişmiş UID komutları |
| RFC 7162 | IMAP Uzantıları: Hızlı Bayrak Değişiklikleri Yeniden Senkronizasyonu (CONDSTORE) | Koşullu STORE |
| RFC 6154 | Özel Kullanım Posta Kutuları için IMAP LIST Uzantısı | Özel posta kutusu özellikleri |
| RFC 6851 | IMAP MOVE Uzantısı | Atomik MOVE komutu |
| RFC 6855 | UTF-8 için IMAP Desteği | UTF-8 desteği |
| RFC 3348 | IMAP4 Alt Posta Kutusu Uzantısı | Alt posta kutusu bilgisi |
| RFC 7889 | Maksimum Yükleme Boyutunu Bildirmek için IMAP4 Uzantısı (APPENDLIMIT) | Maksimum yükleme boyutu |
| Desteklenen IMAP Uzantıları: |
| Uzantı | RFC | Durum | Açıklama |
|---|---|---|---|
| IDLE | RFC 2177 | ✅ Destekleniyor | Push tarzı bildirimler |
| NAMESPACE | RFC 2342 | ✅ Destekleniyor | Posta kutusu isim alanı desteği |
| QUOTA | RFC 2087 | ✅ Destekleniyor | Depolama kotası yönetimi |
| ID | RFC 2971 | ✅ Destekleniyor | İstemci/sunucu kimlik doğrulama |
| ENABLE | RFC 5161 | ✅ Destekleniyor | IMAP uzantılarını etkinleştir |
| SASL-IR | RFC 4959 | ✅ Destekleniyor | İlk istemci yanıtı |
| UNSELECT | RFC 3691 | ✅ Destekleniyor | EXPUNGE olmadan posta kutusunu kapatma |
| UIDPLUS | RFC 4315 | ✅ Destekleniyor | Gelişmiş UID komutları |
| CONDSTORE | RFC 7162 | ✅ Destekleniyor | Koşullu STORE |
| SPECIAL-USE | RFC 6154 | ✅ Destekleniyor | Özel posta kutusu öznitelikleri |
| MOVE | RFC 6851 | ✅ Destekleniyor | Atomik MOVE komutu |
| UTF8=ACCEPT | RFC 6855 | ✅ Destekleniyor | UTF-8 desteği |
| CHILDREN | RFC 3348 | ✅ Destekleniyor | Alt posta kutusu bilgisi |
| APPENDLIMIT | RFC 7889 | ✅ Destekleniyor | Maksimum yükleme boyutu |
| XLIST | Standart dışı | ✅ Destekleniyor | Gmail uyumlu klasör listesi |
| XAPPLEPUSHSERVICE | Standart dışı | ✅ Destekleniyor | Apple Push Bildirim Servisi |
RFC Spesifikasyonlarından IMAP Protokol Farkları
Warning
Aşağıdaki RFC spesifikasyonlarından farklılıklar istemci uyumluluğunu etkileyebilir.
Forward Email, bazı IMAP RFC spesifikasyonlarından kasıtlı olarak sapmaktadır. Bu farklılıklar WildDuck'tan miras alınmış olup aşağıda belgelenmiştir:
- \Recent bayrağı yok:
\Recentbayrağı uygulanmamıştır. Tüm mesajlar bu bayraksız olarak döndürülür. - RENAME alt klasörleri etkilemez: Bir klasör yeniden adlandırıldığında, alt klasörler otomatik olarak yeniden adlandırılmaz. Klasör hiyerarşisi veritabanında düz yapıdadır.
- INBOX yeniden adlandırılamaz: RFC 3501 INBOX'un yeniden adlandırılmasına izin verirken, Forward Email bunu açıkça yasaklar. Bkz. WildDuck kaynak kodu.
- İzinsiz FLAGS yanıtları yok: Bayraklar değiştirildiğinde, istemciye izinsiz FLAGS yanıtları gönderilmez.
- STORE silinmiş mesajlar için NO döner: Silinmiş mesajların bayraklarını değiştirmeye çalışmak, sessizce yok saymak yerine NO döner.
- SEARCH'te CHARSET göz ardı edilir: SEARCH komutlarındaki
CHARSETargümanı göz ardı edilir. Tüm aramalar UTF-8 kullanır. - MODSEQ meta verisi göz ardı edilir: STORE komutlarındaki
MODSEQmeta verisi dikkate alınmaz. - SEARCH TEXT ve SEARCH BODY: Forward Email, MongoDB'nin
$textaraması yerine SQLite FTS5 (Tam Metin Arama) kullanır. Bu şunları sağlar:NOToperatörü desteği (MongoDB desteklemez)- Sıralı arama sonuçları
- Büyük posta kutularında 100ms altı arama performansı
- Otomatik expunge davranışı:
\Deletedolarak işaretlenen mesajlar posta kutusu kapatıldığında otomatik olarak expunge edilir. - Mesaj bütünlüğü: Bazı mesaj değişiklikleri orijinal mesaj yapısını tam olarak korumayabilir.
IMAP4rev2 Kısmi Destek:
Forward Email, IMAP4rev1 (RFC 3501) uygular ve IMAP4rev2 (RFC 9051) özelliklerinin bir kısmını destekler. Aşağıdaki IMAP4rev2 özellikleri henüz desteklenmemektedir:
- LIST-STATUS - Birleşik LIST ve STATUS komutları
- LITERAL- - Senkronize olmayan literal'ler (eksi varyant)
- OBJECTID - Benzersiz nesne kimlikleri
- SAVEDATE - Kaydetme tarihi özniteliği
- REPLACE - Atomik mesaj değiştirme
- UNAUTHENTICATE - Bağlantıyı kapatmadan kimlik doğrulamayı sonlandırma
Gevşek Gövde Yapısı İşleme:
Forward Email, hatalı MIME yapıları için "gevşek gövde" işleme kullanır; bu, katı RFC yorumundan farklı olabilir. Bu, standartlara tam uymayan gerçek dünya e-postalarıyla uyumluluğu artırır. METADATA Uzantısı (RFC 5464):
IMAP METADATA uzantısı desteklenmemektedir. Bu uzantı hakkında daha fazla bilgi için RFC 5464 sayfasına bakınız. Bu özelliğin eklenmesiyle ilgili tartışma WildDuck Issue #937 adresinde bulunabilir.
Desteklenmeyen IMAP Uzantıları
Aşağıdaki IMAP uzantıları IANA IMAP Capabilities Registry listesinden desteklenmemektedir:
| RFC | Başlık | Sebep |
|---|---|---|
| RFC 2086 | IMAP4 ACL uzantısı | Paylaşılan klasörler uygulanmamıştır. Bkz. WildDuck Issue #427 |
| RFC 5256 | IMAP SORT ve THREAD Uzantıları | Threading dahili olarak uygulanmıştır ancak RFC 5256 protokolü ile değil. Bkz. WildDuck Issue #12 |
| RFC 5162 | IMAP4 Hızlı Klasör Yeniden Senkronizasyonu (QRESYNC) Uzantıları | Uygulanmamıştır |
| RFC 5464 | IMAP METADATA Uzantısı | Metadata işlemleri göz ardı edilmektedir. Bkz. WildDuck dokümantasyonu |
| RFC 5258 | IMAP4 LIST Komut Uzantıları | Uygulanmamıştır |
| RFC 5267 | IMAP4 için Bağlamlar | Uygulanmamıştır |
| RFC 5465 | IMAP NOTIFY Uzantısı | Uygulanmamıştır |
| RFC 5466 | IMAP4 FİLTRELER Uzantısı | Uygulanmamıştır |
| RFC 6203 | IMAP4 Bulanık Arama Uzantısı | Uygulanmamıştır |
| RFC 6785 | IMAP4 Uygulama Önerileri | Öneriler tam olarak takip edilmemiştir |
| RFC 7162 | IMAP Uzantıları: Hızlı Bayrak Değişiklikleri Yeniden Senkronizasyonu (CONDSTORE) ve Hızlı Klasör Yeniden Senkronizasyonu (QRESYNC) | Uygulanmamıştır |
| RFC 8437 | Bağlantı Yeniden Kullanımı için IMAP UNAUTHENTICATE Uzantısı | Uygulanmamıştır |
| RFC 8438 | STATUS=SIZE için IMAP Uzantısı | Uygulanmamıştır |
| RFC 8457 | IMAP "$Important" Anahtar Kelimesi ve "\Important" Özel Kullanım Özelliği | Uygulanmamıştır |
| RFC 8474 | Nesne Tanımlayıcıları için IMAP Uzantısı | Uygulanmamıştır |
| RFC 9051 | İnternet Mesaj Erişim Protokolü (IMAP) - Sürüm 4rev2 | Forward Email IMAP4rev1 (RFC 3501) uygular |
POP3 E-posta Protokolü ve Uzantıları
Note
Forward Email, e-posta alımı için standart uzantılarla POP3 (RFC 1939) desteği sunar.
Forward Email'in POP3 işlevselliği WildDuck bağımlılığı tarafından sağlanmaktadır. Aşağıdaki e-posta RFC'leri desteklenmektedir:
| RFC | Başlık | Uygulama Notları |
|---|---|---|
| RFC 1939 | Posta Ofisi Protokolü - Sürüm 3 (POP3) | Tam destek, kasıtlı farklılıklar ile (aşağıya bakınız) |
| RFC 2595 | IMAP, POP3 ve ACAP ile TLS Kullanımı | STARTTLS desteği |
| RFC 2449 | POP3 Uzantı Mekanizması | CAPA komutu desteği |
Forward Email, IMAP yerine bu daha basit protokolü tercih eden istemciler için POP3 desteği sağlar. POP3, e-postaları tek bir cihaza indirip sunucudan kaldırmak isteyen kullanıcılar için idealdir.
Desteklenen POP3 Uzantıları:
| Uzantı | RFC | Durum | Açıklama |
|---|---|---|---|
| TOP | RFC 1939 | ✅ Destekli | Mesaj başlıklarını alma |
| USER | RFC 1939 | ✅ Destekli | Kullanıcı adı doğrulama |
| UIDL | RFC 1939 | ✅ Destekli | Benzersiz mesaj tanımlayıcıları |
| EXPIRE | RFC 2449 | ✅ Destekli | Mesaj son kullanma politikası |
POP3 Protokolünün RFC Spesifikasyonlarından Farkları
Warning
POP3, IMAP'e kıyasla doğasında sınırlamalara sahiptir.
Important
Kritik Fark: Forward Email ve WildDuck POP3 DELE Davranışı
Forward Email, POP3 DELE komutları için RFC uyumlu kalıcı silme uygular; WildDuck ise mesajları Çöp Kutusuna taşır.
Forward Email Davranışı (kaynak kodu):
DELE→QUITmesajları kalıcı olarak siler- RFC 1939 spesifikasyonuna tam uyum sağlar
- Dovecot (varsayılan), Postfix ve diğer standart uyumlu sunucularla aynı davranışı gösterir
WildDuck Davranışı (tartışma):
DELE→QUITmesajları Çöp Kutusuna taşır (Gmail benzeri)- Kullanıcı güvenliği için kasıtlı tasarım kararı
- RFC uyumlu değil ancak kazara veri kaybını önler
Neden Forward Email Farklıdır:
- RFC Uyumu: RFC 1939 spesifikasyonuna bağlı kalır
- Kullanıcı Beklentileri: İndir ve sil iş akışı kalıcı silmeyi bekler
- Depolama Yönetimi: Disk alanının doğru şekilde geri kazanılması
- Uyumluluk: Diğer RFC uyumlu sunucularla tutarlılık
Note
POP3 Mesaj Listesi: Forward Email, INBOX'taki TÜM mesajları sınır olmadan listeler. Bu, varsayılan olarak 250 mesajla sınırlayan WildDuck'tan farklıdır. Bakınız kaynak kodu.
Tek Cihaz Erişimi:
POP3, tek cihaz erişimi için tasarlanmıştır. Mesajlar genellikle indirilir ve sunucudan kaldırılır, bu nedenle çoklu cihaz senkronizasyonu için uygun değildir.
Klasör Desteği Yoktur:
POP3 yalnızca INBOX klasörüne erişir. Diğer klasörler (Gönderilen, Taslaklar, Çöp Kutusu vb.) POP3 üzerinden erişilebilir değildir.
Sınırlı Mesaj Yönetimi:
POP3 temel mesaj alma ve silme sağlar. Bayraklama, taşıma veya mesaj arama gibi gelişmiş özellikler mevcut değildir.
Desteklenmeyen POP3 Uzantıları
Aşağıdaki POP3 uzantıları IANA POP3 Uzantı Mekanizması Kaydı tarafından belirtilmiş olup desteklenmemektedir:
| RFC | Başlık | Sebep |
|---|---|---|
| RFC 6856 | Posta Ofisi Protokolü Sürüm 3 (POP3) için UTF-8 Desteği | WildDuck POP3 sunucusunda uygulanmamış |
| RFC 2595 | STLS komutu | Sadece STARTTLS destekleniyor, STLS değil |
| RFC 3206 | SYS ve AUTH POP Yanıt Kodları | Uygulanmamış |
SMTP E-posta Protokolü ve Uzantıları
Note
Forward Email, güvenli ve güvenilir e-posta teslimatı için modern uzantılarla birlikte SMTP (RFC 5321) destekler.
Forward Email'in SMTP işlevselliği birden fazla bileşen tarafından sağlanır: smtp-server (nodemailer), zone-mta ve özel uygulamalar. Aşağıdaki e-posta RFC'leri desteklenmektedir:
| RFC | Başlık | Uygulama Notları |
|---|---|---|
| RFC 5321 | Basit Posta Aktarım Protokolü (SMTP) | Tam destek |
| RFC 3207 | Taşıma Katmanı Güvenliği Üzerinden Güvenli SMTP için SMTP Hizmet Uzantısı (STARTTLS) | TLS/SSL desteği |
| RFC 4954 | Kimlik Doğrulama için SMTP Hizmet Uzantısı (AUTH) | PLAIN, LOGIN, CRAM-MD5, XOAUTH2 |
| RFC 6531 | Uluslararasılaştırılmış E-posta için SMTP Uzantısı (SMTPUTF8) | Yerel unicode e-posta adresi desteği |
| RFC 3461 | Teslimat Durumu Bildirimleri için SMTP Hizmet Uzantısı (DSN) | Tam DSN desteği |
| RFC 3463 | Gelişmiş Posta Sistemi Durum Kodları | Yanıtlarda gelişmiş durum kodları |
| RFC 1870 | Mesaj Boyutu Bildirimi için SMTP Hizmet Uzantısı (SIZE) | Maksimum mesaj boyutu bildirimi |
| RFC 2920 | Komut Boru Hattı için SMTP Hizmet Uzantısı (PIPELINING) | Komut boru hattı desteği |
| RFC 1652 | 8bit-MIME taşıma için SMTP Hizmet Uzantısı (8BITMIME) | 8-bit MIME desteği |
| RFC 6152 | 8-bit MIME Taşıma için SMTP Hizmet Uzantısı | 8-bit MIME desteği |
| RFC 2034 | Gelişmiş Hata Kodları Döndürme için SMTP Hizmet Uzantısı (ENHANCEDSTATUSCODES) | Gelişmiş durum kodları |
Forward Email, güvenlik, güvenilirlik ve işlevselliği artıran modern uzantılarla tam özellikli bir SMTP sunucusu uygular.
Desteklenen SMTP Uzantıları:
| Uzantı | RFC | Durum | Açıklama |
|---|---|---|---|
| PIPELINING | RFC 2920 | ✅ Destekleniyor | Komut boru hattı |
| SIZE | RFC 1870 | ✅ Destekleniyor | Mesaj boyutu bildirimi (52MB sınırı) |
| ETRN | RFC 1985 | ✅ Destekleniyor | Uzaktan kuyruk işleme |
| STARTTLS | RFC 3207 | ✅ Destekleniyor | TLS'ye yükseltme |
| ENHANCEDSTATUSCODES | RFC 2034 | ✅ Destekleniyor | Gelişmiş durum kodları |
| 8BITMIME | RFC 6152 | ✅ Destekleniyor | 8-bit MIME taşıma |
| DSN | RFC 3461 | ✅ Destekleniyor | Teslimat Durumu Bildirimleri |
| CHUNKING | RFC 3030 | ✅ Destekleniyor | Parçalı mesaj transferi |
| SMTPUTF8 | RFC 6531 | ⚠️ Kısmi | UTF-8 e-posta adresleri (kısmi) |
| REQUIRETLS | RFC 8689 | ✅ Destekleniyor | Teslimat için TLS zorunluluğu |
Teslimat Durumu Bildirimleri (DSN)
Tip
DSN, gönderilen e-postalar için ayrıntılı teslimat durumu bilgisi sağlar.
Forward Email, göndericilerin teslimat durumu bildirimleri talep etmesine olanak tanıyan DSN (RFC 3461) özelliğini tam olarak destekler. Bu özellik şunları sağlar:
- Mesajlar teslim edildiğinde başarı bildirimleri
- Ayrıntılı hata bilgisi içeren başarısızlık bildirimleri
- Teslimat geçici olarak geciktiğinde gecikme bildirimleri
DSN özellikle şunlar için faydalıdır:
- Önemli mesajların teslimatının teyit edilmesi
- Teslimat sorunlarının giderilmesi
- Otomatik e-posta işleme sistemleri
- Uyumluluk ve denetim gereksinimleri
REQUIRETLS Desteği
Important
Forward Email, REQUIRETLS'yi açıkça duyuran ve zorunlu kılan birkaç sağlayıcıdan biridir.
Forward Email, e-posta mesajlarının yalnızca TLS şifreli bağlantılar üzerinden teslim edilmesini sağlayan REQUIRETLS (RFC 8689) özelliğini destekler. Bu özellik şunları sağlar:
- Tüm teslimat yolu için uçtan uca şifreleme
- E-posta oluşturucuda kullanıcıya yönelik zorunluluk onayı (checkbox)
- Şifrelenmemiş teslimat girişimlerinin reddedilmesi
- Hassas iletişimler için artırılmış güvenlik
Desteklenmeyen SMTP Uzantıları
Aşağıdaki IANA SMTP Servis Uzantıları Kaydı içindeki SMTP uzantıları desteklenmemektedir:
| RFC | Başlık | Sebep |
|---|---|---|
| RFC 4865 | Gelecekteki Mesaj Yayını için SMTP Gönderim Servis Uzantısı (FUTURERELEASE) | Uygulanmadı |
| RFC 6710 | Mesaj Transfer Öncelikleri için SMTP Uzantısı (MT-PRIORITY) | Uygulanmadı |
| RFC 7293 | Require-Recipient-Valid-Since Başlık Alanı ve SMTP Servis Uzantısı | Uygulanmadı |
| RFC 7372 | E-posta Kimlik Doğrulama Durum Kodları | Tam olarak uygulanmadı |
| RFC 4468 | Mesaj Gönderim BURL Uzantısı | Uygulanmadı |
| RFC 3030 | Büyük ve İkili MIME Mesajlarının Gönderimi için SMTP Servis Uzantıları (CHUNKING, BINARYMIME) | Uygulanmadı |
| RFC 2852 | SMTP Servis Uzantısı ile Teslim Etme Zamanı | Uygulanmadı |
JMAP E-posta Protokolü
Caution
JMAP şu anda Forward Email tarafından desteklenmemektedir.
| RFC | Başlık | Durum | Sebep |
|---|---|---|---|
| RFC 8620 | JSON Meta Uygulama Protokolü (JMAP) | ❌ Desteklenmiyor | Forward Email bunun yerine IMAP/POP3/SMTP ve kapsamlı bir REST API kullanır |
JMAP (JSON Meta Uygulama Protokolü), IMAP'in yerini almak üzere tasarlanmış modern bir e-posta protokolüdür.
JMAP'in Desteklenmemesinin Nedeni:
"JMAP, icat edilmemesi gereken bir canavar. TCP/IMAP'i (bugünün standartlarına göre zaten kötü bir protokol) HTTP/JSON'a dönüştürmeye çalışıyor, sadece farklı bir taşıma kullanarak ruhunu koruyor." — Andris Reinman, HN Tartışması "JMAP 10 yıldan fazla bir süredir var ve neredeyse hiç benimsenme yok" – Andris Reinman, GitHub Tartışması
Ayrıca ek yorumlar için https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=jmap andris&sort=byDate&type=comment adresine bakınız.
Forward Email şu anda mükemmel IMAP, POP3 ve SMTP desteği sağlamaya odaklanmakta olup, e-posta yönetimi için kapsamlı bir REST API sunmaktadır. JMAP desteği, kullanıcı talebi ve ekosistem benimsenmesine bağlı olarak gelecekte değerlendirilebilir.
Alternatif: Forward Email, programatik e-posta erişimi için JMAP ile benzer işlevsellik sunan 39 uç noktaya sahip Tam REST API sunar.
E-posta Güvenliği
E-posta Güvenlik Mimarisi
E-posta Mesajı Doğrulama Protokolleri
Note
Forward Email, sahtekarlığı önlemek ve mesaj bütünlüğünü sağlamak için tüm önemli e-posta doğrulama protokollerini uygular.
Forward Email, e-posta doğrulaması için mailauth kütüphanesini kullanır. Desteklenen RFC'ler şunlardır:
| RFC | Başlık | Uygulama Notları |
|---|---|---|
| RFC 6376 | DomainKeys Identified Mail (DKIM) İmzaları | Tam DKIM imzalama ve doğrulama |
| RFC 8463 | DKIM için Yeni Bir Kriptografik İmza Yöntemi (Ed25519-SHA256) | Hem RSA-SHA256 hem de Ed25519-SHA256 imzalama algoritmalarını destekler |
| RFC 7208 | Gönderen Politika Çerçevesi (SPF) | SPF kayıt doğrulaması |
| RFC 7489 | Alan Tabanlı Mesaj Doğrulama, Raporlama ve Uyum (DMARC) | DMARC politika uygulaması |
| RFC 8617 | Doğrulanmış Alınan Zinciri (ARC) | ARC mühürleme ve doğrulama |
E-posta doğrulama protokolleri, mesajların gerçekten iddia edilen göndericiden geldiğini ve iletim sırasında değiştirilmediğini doğrular.
Doğrulama Protokolü Desteği
| Protokol | RFC | Durum | Açıklama |
|---|---|---|---|
| DKIM | RFC 6376 | ✅ Destekleniyor | DomainKeys Identified Mail - Kriptografik imzalar |
| SPF | RFC 7208 | ✅ Destekleniyor | Gönderen Politika Çerçevesi - IP adresi yetkilendirmesi |
| DMARC | RFC 7489 | ✅ Destekleniyor | Alan Tabanlı Mesaj Doğrulama - Politika uygulaması |
| ARC | RFC 8617 | ✅ Destekleniyor | Doğrulanmış Alınan Zinciri - İletiler arası doğrulamanın korunması |
DKIM (DomainKeys Identified Mail)
DKIM, e-posta başlıklarına kriptografik bir imza ekleyerek alıcıların mesajın alan adı sahibi tarafından yetkilendirildiğini ve iletim sırasında değiştirilmediğini doğrulamasını sağlar.
Forward Email, DKIM imzalama ve doğrulama için mailauth kullanır.
Temel Özellikler:
- Tüm giden mesajlar için otomatik DKIM imzalama
- RSA ve Ed25519 anahtar desteği
- Çoklu seçici desteği
- Gelen mesajlar için DKIM doğrulaması
SPF (Sender Policy Framework)
SPF, alan adı sahiplerinin alan adları adına e-posta göndermeye yetkili IP adreslerini belirtmelerine olanak tanır.
Temel Özellikler:
- Gelen mesajlar için SPF kaydı doğrulaması
- Ayrıntılı sonuçlarla otomatik SPF kontrolü
- include, redirect ve all mekanizmaları desteği
- Alan adına göre yapılandırılabilir SPF politikaları
DMARC (Domain-based Message Authentication, Reporting & Conformance)
DMARC, SPF ve DKIM üzerine inşa edilerek politika uygulama ve raporlama sağlar.
Temel Özellikler:
- DMARC politika uygulaması (none, quarantine, reject)
- SPF ve DKIM için hizalama kontrolü
- DMARC toplu raporlama
- Alan adına göre DMARC politikaları
ARC (Authenticated Received Chain)
ARC, e-posta kimlik doğrulama sonuçlarını yönlendirme ve posta listesi değişiklikleri boyunca korur.
Forward Email, ARC doğrulama ve mühürleme için mailauth kütüphanesini kullanır.
Temel Özellikler:
- Yönlendirilmiş mesajlar için ARC mühürleme
- Gelen mesajlar için ARC doğrulama
- Birden fazla atlama boyunca zincir doğrulaması
- Orijinal kimlik doğrulama sonuçlarını korur
Authentication Flow
Email Transport Security Protocols
Important
Forward Email, iletim halindeki e-postaları korumak için birden fazla katmanlı taşıma güvenliği uygular.
Forward Email, modern taşıma güvenliği protokollerini uygular:
| RFC | Başlık | Durum | Uygulama Notları |
|---|---|---|---|
| RFC 8461 | SMTP MTA Strict Transport Security (MTA-STS) | ✅ Destekleniyor | IMAP, SMTP ve MX sunucularında yaygın olarak kullanılır. Bkz. create-mta-sts-cache.js ve get-transporter.js |
| RFC 8460 | SMTP TLS Reporting | ✅ Destekleniyor | mailauth kütüphanesi aracılığıyla |
| RFC 7671 | The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance | ✅ Destekleniyor | Giden SMTP bağlantıları için tam DANE doğrulaması. Bkz. mx-connect PR #22 |
| RFC 6698 | The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA | ✅ Destekleniyor | Tam RFC 6698 desteği: PKIX-TA, PKIX-EE, DANE-TA, DANE-EE kullanım türleri. Bkz. mx-connect PR #22 |
| RFC 8314 | Cleartext Considered Obsolete: Use of Transport Layer Security (TLS) for Email Submission and Access | ✅ Destekleniyor | Tüm bağlantılar için TLS zorunludur |
| RFC 8689 | SMTP Service Extension for Requiring TLS (REQUIRETLS) | ✅ Destekleniyor | REQUIRETLS SMTP uzantısı ve "TLS-Required" başlığı için tam destek |
| Taşıma güvenlik protokolleri, e-posta mesajlarının posta sunucuları arasında iletim sırasında şifrelenmesini ve kimlik doğrulamasını sağlar. |
Taşıma Güvenliği Desteği
| Protokol | RFC | Durum | Açıklama |
|---|---|---|---|
| TLS | RFC 8314 | ✅ Destekleniyor | Taşıma Katmanı Güvenliği - Şifreli bağlantılar |
| MTA-STS | RFC 8461 | ✅ Destekleniyor | Posta Aktarım Aracısı Sıkı Taşıma Güvenliği |
| DANE | RFC 7671 | ✅ Destekleniyor | İsimlendirilmiş Varlıkların DNS Tabanlı Doğrulaması |
| REQUIRETLS | RFC 8689 | ✅ Destekleniyor | Tüm teslimat yolu için TLS gerektirir |
TLS (Taşıma Katmanı Güvenliği)
Forward Email, tüm e-posta bağlantıları (SMTP, IMAP, POP3) için TLS şifrelemesini zorunlu kılar.
Temel Özellikler:
- TLS 1.2 ve TLS 1.3 desteği
- Otomatik sertifika yönetimi
- Mükemmel İleri Gizlilik (PFS)
- Sadece güçlü şifreleme takımları
MTA-STS (Posta Aktarım Aracısı Sıkı Taşıma Güvenliği)
MTA-STS, e-postanın yalnızca TLS ile şifrelenmiş bağlantılar üzerinden teslim edilmesini HTTPS üzerinden bir politika yayınlayarak sağlar.
Forward Email, MTA-STS'yi create-mta-sts-cache.js kullanarak uygular.
Temel Özellikler:
- Otomatik MTA-STS politika yayını
- Performans için politika önbellekleme
- Düşürme saldırısı önleme
- Sertifika doğrulama zorunluluğu
DANE (İsimlendirilmiş Varlıkların DNS Tabanlı Doğrulaması)
Note
Forward Email artık giden SMTP bağlantıları için tam DANE desteği sağlar.
DANE, TLS sertifika bilgilerini DNS'te yayınlamak için DNSSEC kullanır ve posta sunucularının sertifika otoritelerine güvenmeden sertifikaları doğrulamasına olanak tanır.
Temel Özellikler:
- ✅ Giden SMTP bağlantıları için tam DANE doğrulaması
- ✅ Tam RFC 6698 desteği: PKIX-TA, PKIX-EE, DANE-TA, DANE-EE kullanım türleri
- ✅ TLS yükseltme sırasında TLSA kayıtlarına karşı sertifika doğrulaması
- ✅ Birden fazla MX sunucusu için paralel TLSA çözümlemesi
- ✅ Yerel
dns.resolveTlsaotomatik algılama (Node.js v22.15.0+, v23.9.0+) - ✅ Eski Node.js sürümleri için Tangerine üzerinden özel çözümleyici desteği
- DNSSEC ile imzalanmış alan adları gerektirir
Tip
Uygulama Detayları: DANE desteği, giden SMTP bağlantıları için kapsamlı DANE/TLSA desteği sağlayan mx-connect PR #22 ile eklendi.
REQUIRETLS
Tip
Forward Email, kullanıcıya yönelik REQUIRETLS desteği sunan az sayıdaki sağlayıcıdan biridir.
REQUIRETLS, e-posta mesajlarının tüm teslimat yolu boyunca yalnızca TLS ile şifrelenmiş bağlantılar üzerinden teslim edilmesini sağlar.
Temel Özellikler:
- E-posta oluşturucuda kullanıcıya yönelik onay kutusu
- Şifrelenmemiş teslimatın otomatik reddi
- Uçtan uca TLS zorunluluğu
- Ayrıntılı hata bildirimleri
Tip
Kullanıcıya Yönelik TLS Zorunluluğu: Forward Email, Hesabım > Alan Adları > Ayarlar altında tüm gelen bağlantılar için TLS zorunluluğu sağlayan bir onay kutusu sunar. Etkinleştirildiğinde, bu özellik TLS ile şifrelenmemiş herhangi bir gelen e-postayı 530 hata kodu ile reddeder ve tüm gelen postanın iletim sırasında şifreli olmasını garanti eder.
Taşıma Güvenliği Akışı
E-posta Mesaj Şifreleme
Note
Forward Email, uçtan uca e-posta şifrelemesi için hem OpenPGP hem de S/MIME desteği sunar.
Forward Email, OpenPGP ve S/MIME şifrelemesini destekler:
| RFC | Başlık | Durum | Uygulama Notları |
|---|---|---|---|
| RFC 9580 | OpenPGP (RFC 4880'in yerini alır) | ✅ Destekleniyor | OpenPGP.js v6+ entegrasyonu ile. Bakınız SSS |
| RFC 8551 | Güvenli/Çok Amaçlı İnternet Posta Uzantıları (S/MIME) Sürüm 4.0 Mesaj Spesifikasyonu | ✅ Destekleniyor | Hem RSA hem ECC algoritmaları desteklenir. Bakınız SSS |
Mesaj şifreleme protokolleri, mesaj transit sırasında ele geçirilse bile, e-posta içeriğinin yalnızca hedef alıcı tarafından okunmasını sağlar.
Şifreleme Desteği
| Protokol | RFC | Durum | Açıklama |
|---|---|---|---|
| OpenPGP | RFC 9580 | ✅ Destekleniyor | Pretty Good Privacy - Açık anahtarlı şifreleme |
| S/MIME | RFC 8551 | ✅ Destekleniyor | Güvenli/Çok Amaçlı İnternet Posta Uzantıları |
| WKD | Taslak | ✅ Destekleniyor | Web Anahtar Dizini - Otomatik anahtar keşfi |
OpenPGP (Pretty Good Privacy)
OpenPGP, açık anahtarlı kriptografi kullanarak uçtan uca şifreleme sağlar. Forward Email, Web Key Directory (WKD) protokolü aracılığıyla OpenPGP'yi destekler.
Temel Özellikler:
- WKD üzerinden otomatik anahtar keşfi
- Şifreli ekler için PGP/MIME desteği
- E-posta istemcisi üzerinden anahtar yönetimi
- GPG, Mailvelope ve diğer OpenPGP araçları ile uyumlu
Nasıl Kullanılır:
- E-posta istemcinizde bir PGP anahtar çifti oluşturun
- Açık anahtarınızı Forward Email'in WKD'sine yükleyin
- Anahtarınız diğer kullanıcılar tarafından otomatik olarak keşfedilir
- Şifreli e-postalar gönderip alın, sorunsuzca kullanın
S/MIME (Secure/Multipurpose Internet Mail Extensions)
S/MIME, X.509 sertifikaları kullanarak e-posta şifreleme ve dijital imzalar sağlar.
Temel Özellikler:
- Sertifika tabanlı şifreleme
- Mesaj doğrulaması için dijital imzalar
- Çoğu e-posta istemcisinde yerel destek
- Kurumsal düzeyde güvenlik
Nasıl Kullanılır:
- Bir Sertifika Otoritesinden S/MIME sertifikası alın
- Sertifikayı e-posta istemcinize yükleyin
- İstemcinizi mesajları şifrelemek/imzalamak için yapılandırın
- Alıcılarla sertifikalarınızı değiş tokuş edin
SQLite Posta Kutusu Şifreleme
Important
Forward Email, şifrelenmiş SQLite posta kutuları ile ek bir güvenlik katmanı sağlar.
Mesaj düzeyindeki şifrelemenin ötesinde, Forward Email tüm posta kutularını sqleet (ChaCha20-Poly1305) kullanarak şifreler.
Temel Özellikler:
- Parola tabanlı şifreleme - Parolaya sadece siz sahipsiniz
- Kuantum dirençli - ChaCha20-Poly1305 şifreleme algoritması
- Sıfır bilgi - Forward Email posta kutunuzu çözemiyor
- Sandbox'lı - Her posta kutusu izole ve taşınabilir
- Kurtarılamaz - Parolanızı unutursanız posta kutunuz kaybolur
Şifreleme Karşılaştırması
| Özellik | OpenPGP | S/MIME | SQLite Şifreleme |
|---|---|---|---|
| Uçtan Uca | ✅ Evet | ✅ Evet | ✅ Evet |
| Anahtar Yönetimi | Kendi yönetimi | CA tarafından verilmiş | Parola tabanlı |
| İstemci Desteği | Eklenti gerektirir | Yerel | Şeffaf |
| Kullanım Alanı | Kişisel | Kurumsal | Depolama |
| Kuantum Dirençli | ⚠️ Anahtara bağlı | ⚠️ Sertifikaya bağlı | ✅ Evet |
Şifreleme Akışı
Genişletilmiş İşlevsellik
E-posta Mesaj Formatı Standartları
Note
Forward Email, zengin içerik ve uluslararasılaştırma için modern e-posta format standartlarını destekler.
Forward Email standart e-posta mesaj formatlarını destekler:
| RFC | Başlık | Uygulama Notları |
|---|---|---|
| RFC 5322 | İnternet Mesaj Formatı | Tam destek |
| RFC 2045 | MIME Bölüm Bir: İnternet Mesaj Gövdelerinin Formatı | Tam MIME desteği |
| RFC 2046 | MIME Bölüm İki: Medya Türleri | Tam MIME desteği |
| RFC 2047 | MIME Bölüm Üç: ASCII Olmayan Metin için Mesaj Başlık Uzantıları | Tam MIME desteği |
| RFC 2048 | MIME Bölüm Dört: Kayıt Prosedürleri | Tam MIME desteği |
| RFC 2049 | MIME Bölüm Beş: Uyum Kriterleri ve Örnekler | Tam MIME desteği |
E-posta format standartları, e-posta mesajlarının nasıl yapılandırıldığı, kodlandığı ve görüntülendiğini tanımlar.
Format Standartları Desteği
| Standart | RFC | Durum | Açıklama |
|---|---|---|---|
| MIME | RFC 2045-2049 | ✅ Destekleniyor | Çok Amaçlı İnternet Posta Uzantıları |
| SMTPUTF8 | RFC 6531 | ⚠️ Kısmi | Uluslararasılaştırılmış e-posta adresleri |
| EAI | RFC 6530 | ⚠️ Kısmi | E-posta Adresi Uluslararasılaştırması |
| Mesaj Formatı | RFC 5322 | ✅ Destekleniyor | İnternet Mesaj Formatı |
| MIME Güvenliği | RFC 1847 | ✅ Destekleniyor | MIME için Güvenlik Çok Parçaları |
MIME (Çok Amaçlı İnternet Posta Uzantıları)
MIME, e-postaların farklı içerik türlerine (metin, HTML, ekler vb.) sahip birden çok bölüm içermesine olanak tanır.
Desteklenen MIME Özellikleri:
- Çok parçalı mesajlar (karışık, alternatif, ilişkili)
- Content-Type başlıkları
- Content-Transfer-Encoding (7bit, 8bit, quoted-printable, base64)
- Satır içi resimler ve ekler
- Zengin HTML içeriği
SMTPUTF8 ve E-posta Adresi Uluslararasılaştırması
Warning
SMTPUTF8 desteği kısmi - tüm özellikler tam olarak uygulanmamıştır.
SMTPUTF8, e-posta adreslerinin ASCII olmayan karakterler içermesine izin verir (örneğin, 用户@例え.jp).
Mevcut Durum:
- ⚠️ Uluslararasılaştırılmış e-posta adresleri için kısmi destek
- ✅ Mesaj gövdelerinde UTF-8 içeriği
- ⚠️ ASCII olmayan yerel parçalar için sınırlı destek
Takvim ve Kişiler Protokolleri
Note
Forward Email, takvim ve kişi senkronizasyonu için tam CalDAV ve CardDAV desteği sağlar.
Forward Email, caldav-adapter kütüphanesi aracılığıyla CalDAV ve CardDAV destekler:
| RFC | Başlık | Durum | Uygulama Notları |
|---|---|---|---|
| RFC 4791 | WebDAV için Takvim Uzantıları (CalDAV) | ✅ Destekleniyor | Takvim erişimi ve yönetimi |
| RFC 6352 | CardDAV: WebDAV için vCard Uzantıları | ✅ Destekleniyor | Kişi erişimi ve yönetimi |
| RFC 5545 | İnternet Takvim ve Planlama Temel Nesne Spesifikasyonu (iCalendar) | ✅ Destekleniyor | iCalendar format desteği |
| RFC 6350 | vCard Format Spesifikasyonu | ✅ Destekleniyor | vCard 4.0 format desteği |
| RFC 6638 | CalDAV için Planlama Uzantıları | ✅ Destekleniyor | iMIP desteği ile CalDAV planlaması. Bkz. commit c4d1629 |
| RFC 5546 | iCalendar Taşıma Bağımsız Birlikte Çalışabilirlik Protokolü (iTIP) | ✅ Destekleniyor | REQUEST, REPLY, CANCEL ve VFREEBUSY yöntemleri için iTIP desteği. Bkz. commit c4d1629 |
| RFC 6047 | iCalendar Mesaj Tabanlı Birlikte Çalışabilirlik Protokolü (iMIP) | ✅ Destekleniyor | Yanıt bağlantıları içeren e-posta tabanlı takvim davetiyeleri. Bkz. commit c4d1629 |
CalDAV ve CardDAV, takvim ve kişi verilerinin cihazlar arasında erişilmesini, paylaşılmasını ve senkronize edilmesini sağlayan protokollerdir.
CalDAV ve CardDAV Desteği
| Protokol | RFC | Durum | Açıklama |
|---|---|---|---|
| CalDAV | RFC 4791 | ✅ Destekleniyor | Takvim erişimi ve senkronizasyonu |
| CardDAV | RFC 6352 | ✅ Destekleniyor | Kişi erişimi ve senkronizasyonu |
| iCalendar | RFC 5545 | ✅ Destekleniyor | Takvim veri formatı |
| vCard | RFC 6350 | ✅ Destekleniyor | Kişi veri formatı |
| VTODO | RFC 5545 | ✅ Destekleniyor | Görev/hatırlatma desteği |
| CalDAV Planlama | RFC 6638 | ✅ Destekleniyor | Takvim planlama uzantıları |
| iTIP | RFC 5546 | ✅ Destekleniyor | Taşıma-bağımsız birlikte çalışabilirlik |
| iMIP | RFC 6047 | ✅ Destekleniyor | E-posta tabanlı takvim davetiyeleri |
CalDAV (Takvim Erişimi)
CalDAV, herhangi bir cihaz veya uygulamadan takvimlere erişmenizi ve yönetmenizi sağlar.
Temel Özellikler:
- Çoklu cihaz senkronizasyonu
- Paylaşılan takvimler
- Takvim abonelikleri
- Etkinlik davetleri ve yanıtları
- Tekrarlayan etkinlikler
- Saat dilimi desteği
Uyumlu İstemciler:
- Apple Takvim (macOS, iOS)
- Mozilla Thunderbird
- Evolution
- GNOME Takvim
- Herhangi bir CalDAV uyumlu istemci
CardDAV (Kişi Erişimi)
CardDAV, herhangi bir cihaz veya uygulamadan kişilere erişmenizi ve yönetmenizi sağlar.
Temel Özellikler:
- Çoklu cihaz senkronizasyonu
- Paylaşılan adres defterleri
- Kişi grupları
- Fotoğraf desteği
- Özel alanlar
- vCard 4.0 desteği
Uyumlu İstemciler:
- Apple Kişiler (macOS, iOS)
- Mozilla Thunderbird
- Evolution
- GNOME Kişiler
- Herhangi bir CardDAV uyumlu istemci
Görevler ve Hatırlatıcılar (CalDAV VTODO)
Tip
Forward Email, CalDAV VTODO aracılığıyla görevler ve hatırlatıcıları destekler.
VTODO, iCalendar formatının bir parçasıdır ve CalDAV üzerinden görev yönetimine olanak tanır.
Temel Özellikler:
- Görev oluşturma ve yönetimi
- Son tarihler ve öncelikler
- Görev tamamlama takibi
- Tekrarlayan görevler
- Görev listeleri/kategorileri
Uyumlu İstemciler:
- Apple Hatırlatıcılar (macOS, iOS)
- Mozilla Thunderbird (Lightning ile)
- Evolution
- GNOME To Do
- VTODO desteği olan herhangi bir CalDAV istemcisi
CalDAV/CardDAV Senkronizasyon Akışı
Desteklenmeyen Takvim Uzantıları
Aşağıdaki takvim uzantıları DESTEKLENMEMEKTEDİR:
| RFC | Başlık | Sebep |
|---|---|---|
| RFC 4918 | Web Dağıtımlı Yazarlık ve Sürümleme için HTTP Uzantıları (WebDAV) | CalDAV WebDAV kavramlarını kullanır ancak tam RFC 4918'i uygulamaz |
| RFC 6578 | WebDAV için Koleksiyon Senkronizasyonu | Uygulanmamıştır |
| RFC 3744 | WebDAV Erişim Kontrol Protokolü | Uygulanmamıştır |
E-posta Mesaj Filtreleme
Important
Forward Email, sunucu tarafı e-posta filtreleme için tam Sieve ve ManageSieve desteği sağlar. Gelen mesajları otomatik olarak sıralamak, filtrelemek, iletmek ve yanıtlamak için güçlü kurallar oluşturun.
Sieve (RFC 5228)
Sieve, sunucu tarafı e-posta filtreleme için standartlaştırılmış, güçlü bir betik dilidir. Forward Email, 24 uzantı ile kapsamlı Sieve desteği uygular.
Kaynak Kodu: helpers/sieve/
Desteklenen Temel Sieve RFC'leri
| RFC | Başlık | Durum |
|---|---|---|
| RFC 5228 | Sieve: Bir E-posta Filtreleme Dili | ✅ Tam Destek |
| RFC 5429 | Sieve E-posta Filtreleme: Reddetme ve Genişletilmiş Reddetme Uzantıları | ✅ Tam Destek |
| RFC 5230 | Sieve E-posta Filtreleme: Tatil Uzantısı | ✅ Tam Destek |
| RFC 6131 | Sieve Tatil Uzantısı: "Seconds" Parametresi | ✅ Tam Destek |
| RFC 5232 | Sieve E-posta Filtreleme: Imap4flags Uzantısı | ✅ Tam Destek |
| RFC 5173 | Sieve E-posta Filtreleme: Gövde Uzantısı | ✅ Tam Destek |
| RFC 5229 | Sieve E-posta Filtreleme: Değişkenler Uzantısı | ✅ Tam Destek |
| RFC 5231 | Sieve E-posta Filtreleme: İlişkisel Uzantı | ✅ Tam Destek |
| RFC 4790 | İnternet Uygulama Protokolü Sıralama Kaydı | ✅ Tam Destek |
| RFC 3894 | Sieve Uzantısı: Yan Etkiler Olmadan Kopyalama | ✅ Tam Destek |
| RFC 5293 | Sieve E-posta Filtreleme: Editheader Uzantısı | ✅ Tam Destek |
| RFC 5260 | Sieve E-posta Filtreleme: Tarih ve İndeks Uzantıları | ✅ Tam Destek |
| RFC 5435 | Sieve E-posta Filtreleme: Bildirimler için Uzantı | ✅ Tam Destek |
| RFC 5183 | Sieve E-posta Filtreleme: Ortam Uzantısı | ✅ Tam Destek |
| RFC 5490 | Sieve E-posta Filtreleme: Posta Kutusu Durumu Kontrolü Uzantıları | ✅ Tam Destek |
| RFC 8579 | Sieve E-posta Filtreleme: Özel Kullanım Posta Kutularına Teslim | ✅ Tam Destek |
| RFC 7352 | Sieve E-posta Filtreleme: Çift Teslimatları Tespit Etme | ✅ Tam Destek |
| RFC 5463 | Sieve E-posta Filtreleme: Ihave Uzantısı | ✅ Tam Destek |
| RFC 5233 | Sieve E-posta Filtreleme: Altadres Uzantısı | ✅ Tam Destek |
| draft-ietf-sieve-regex | Sieve E-posta Filtreleme: Düzenli İfade Uzantısı | ✅ Tam Destek |
Desteklenen Sieve Uzantıları
| Uzantı | Açıklama | Entegrasyon |
|---|---|---|
fileinto |
Mesajları belirli klasörlere dosyalama | Mesajlar belirtilen IMAP klasöründe saklanır |
reject / ereject |
Mesajları hata ile reddetme | SMTP reddi ve geri dönen mesaj |
vacation |
Otomatik tatil/ofis dışı yanıtları | Emails.queue ile sıraya alınır, oran sınırlaması ile |
vacation-seconds |
İnce ayarlı tatil yanıt aralıkları | :seconds parametresinden TTL |
imap4flags |
IMAP bayraklarını ayarlama (\Seen, \Flagged, vb.) | Mesaj saklama sırasında bayraklar uygulanır |
envelope |
Zarf gönderen/alıcı testi | SMTP zarf verilerine erişim |
body |
Mesaj gövdesi içeriğini test etme | Tam gövde metni eşleştirme |
variables |
Betiklerde değişken saklama ve kullanma | Değişken genişletme ve modifikasyonlar |
relational |
İlişkisel karşılaştırmalar | :count, :value ile gt/lt/eq |
comparator-i;ascii-numeric |
Sayısal karşılaştırmalar | Sayısal dize karşılaştırması |
copy |
Yönlendirme sırasında mesajları kopyalama | fileinto/redirect üzerinde :copy bayrağı |
editheader |
Mesaj başlıklarını ekleme veya silme | Saklamadan önce başlıklar değiştirilir |
date |
Tarih/saat değerlerini test etme | currentdate ve başlık tarih testleri |
index |
Belirli başlık tekrarlarına erişim | Çok değerli başlıklar için :index |
regex |
Düzenli ifade eşleştirme | Testlerde tam regex desteği |
enotify |
Bildirim gönderme | Emails.queue üzerinden mailto: bildirimleri |
environment |
Ortam bilgilerine erişim | Oturumdan domain, host, remote-ip |
mailbox |
Posta kutusu varlığını test etme | mailboxexists testi |
special-use |
Özel kullanım posta kutularına dosyalama | \Junk, \Trash vb. klasörlere eşleme |
duplicate |
Çift mesajları tespit etme | Redis tabanlı çift takip |
ihave |
Uzantı kullanılabilirliğini test etme | Çalışma zamanı yetenek kontrolü |
subaddress |
Kullanıcı+detay adres parçalarına erişim | :user ve :detail adres parçaları |
Desteklenmeyen Sieve Uzantıları
| Uzantı | RFC | Sebep |
|---|---|---|
include |
RFC 6609 | Güvenlik riski (betik enjeksiyonu), global betik depolama gerektirir |
mboxmetadata / servermetadata |
RFC 5490 | IMAP METADATA uzantısı gerektirir |
fcc |
RFC 8580 | Gönderilenler klasörü entegrasyonu gerektirir |
encoded-character |
RFC 5228 | ${hex:} sözdizimi için ayrıştırıcı değişiklikleri gerekir |
foreverypart / mime / extracttext |
RFC 5703 | Karmaşık MIME ağacı manipülasyonu |
Eleme İşleme Akışı
Güvenlik Özellikleri
Forward Email'in Eleme uygulaması kapsamlı güvenlik korumaları içerir:
- CVE-2023-26430 Koruması: Yönlendirme döngülerini ve posta bombardımanı saldırılarını önler
- Oran Sınırlandırması: Yönlendirmelerde (10/mesaj, 100/gün) ve tatil yanıtlarında sınırlar
- Engelleme Listesi Kontrolü: Yönlendirme adresleri engelleme listesine karşı kontrol edilir
- Korunan Başlıklar: DKIM, ARC ve kimlik doğrulama başlıkları editheader ile değiştirilemez
- Betiğin Boyut Sınırları: Maksimum betik boyutu uygulanır
- Çalışma Süresi Aşımı: Çalışma süresi sınırı aşılırsa betikler sonlandırılır
Örnek Eleme Betikleri
Bültenleri bir klasöre dosyalama:
require ["fileinto"];
if header :contains "List-Id" "newsletter" {
fileinto "Newsletters";
}
İnce ayarlı zamanlamalı tatil otomatik yanıtlayıcısı:
require ["vacation", "vacation-seconds"];
vacation :seconds 3600 :subject "Ofiste Değilim"
"Şu anda uzaktayım ve 24 saat içinde yanıt vereceğim.";
Bayraklarla spam filtreleme:
require ["fileinto", "imap4flags"];
if header :contains "X-Spam-Status" "Yes" {
setflag "\\Seen";
fileinto "Junk";
}
Değişkenlerle karmaşık filtreleme:
require ["variables", "fileinto", "regex"];
if header :regex "From" "(.+)@example\\.com" {
set :lower "sender" "${1}";
fileinto "Contacts/${sender}";
}
Tip
Tam dokümantasyon, örnek betikler ve yapılandırma talimatları için SSS: Eleme e-posta filtrelemesini destekliyor musunuz? sayfasına bakınız.
ManageSieve (RFC 5804)
Forward Email, Eleme betiklerini uzaktan yönetmek için tam ManageSieve protokol desteği sağlar.
Kaynak Kodu: managesieve-server.js
| RFC | Başlık | Durum |
|---|---|---|
| RFC 5804 | Eleme Betiklerini Uzaktan Yönetmek İçin Protokol | ✅ Tam Destek |
ManageSieve Sunucu Yapılandırması
| Ayar | Değer |
|---|---|
| Sunucu | imap.forwardemail.net |
| Port (STARTTLS) | 2190 (önerilen) |
| Port (Gizli TLS) | 4190 |
| Kimlik Doğrulama | PLAIN (TLS üzerinden) |
Not: 2190 portu STARTTLS kullanır (düz bağlantıdan TLS'ye yükseltme) ve sieve-connect dahil çoğu ManageSieve istemcisi ile uyumludur. 4190 portu ise bağlantı başlangıcından itibaren TLS (gizli TLS) kullanır ve bu özelliği destekleyen istemciler içindir.
Desteklenen ManageSieve Komutları
| Komut | Açıklama |
|---|---|
AUTHENTICATE |
PLAIN mekanizması ile kimlik doğrulama |
CAPABILITY |
Sunucu yetenekleri ve uzantıları listeler |
HAVESPACE |
Betiğin saklanabilirliğini kontrol eder |
PUTSCRIPT |
Yeni betik yükler |
LISTSCRIPTS |
Tüm betikleri ve aktif durumlarını listeler |
SETACTIVE |
Bir betiği aktif yapar |
GETSCRIPT |
Betiği indirir |
DELETESCRIPT |
Betiği siler |
RENAMESCRIPT |
Betiğin adını değiştirir |
CHECKSCRIPT |
Betik sözdizimini doğrular |
NOOP |
Bağlantıyı canlı tutar |
LOGOUT |
Oturumu sonlandırır |
Uyumlu ManageSieve İstemcileri
- Thunderbird: Sieve eklentisi aracılığıyla yerleşik Sieve desteği
- Roundcube: ManageSieve eklentisi
- KMail: Yerel ManageSieve desteği
- sieve-connect: Komut satırı istemcisi
- Herhangi bir RFC 5804 uyumlu istemci
ManageSieve Protokol Akışı
Web Arayüzü ve API
ManageSieve'e ek olarak, Forward Email şunları sağlar:
- Web Kontrol Paneli: My Account → Domains → Aliases → Sieve Scripts üzerinden web arayüzü ile Sieve betikleri oluşturma ve yönetme
- REST API: Forward Email API aracılığıyla programatik Sieve betik yönetimi erişimi
Tip
Detaylı kurulum talimatları ve istemci yapılandırması için bkz. SSS: Sieve e-posta filtrelemesini destekliyor musunuz?
Depolama Optimizasyonu
Important
Sektörde Bir İlk Depolama Teknolojisi: Forward Email, e-posta içeriğinde Brotli sıkıştırması ile ek dosya çoğaltmalarını birleştiren dünyadaki tek e-posta sağlayıcısıdır. Bu çift katmanlı optimizasyon, geleneksel e-posta sağlayıcılarına kıyasla size 2-3 kat daha etkili depolama sağlar.
Forward Email, tam RFC uyumluluğu ve mesaj bütünlüğünü koruyarak posta kutusu boyutunu dramatik şekilde azaltan iki devrim niteliğinde depolama optimizasyonu tekniği uygular:
- Ek Dosya Çoğaltma Önleme - Tüm e-postalar arasında yinelenen ek dosyaları ortadan kaldırır
- Brotli Sıkıştırma - Meta verilerde %46-86, ek dosyalarda %50 depolama azaltımı sağlar
Mimari: Çift Katmanlı Depolama Optimizasyonu
Ek Dosya Çoğaltma Önleme
Forward Email, SQLite depolama için uyarlanmış WildDuck'un kanıtlanmış yaklaşımı temelinde ek dosya çoğaltma önleme uygular.
Note
Çoğaltılan Nedir: "Ek dosya", kodlanmış MIME düğüm içeriği anlamına gelir (base64 veya quoted-printable), çözümlenmiş dosya değil. Bu, DKIM ve GPG imza geçerliliğini korur.
Nasıl Çalışır
WildDuck'un Orijinal Uygulaması (MongoDB GridFS):
Wild Duck IMAP sunucusu ek dosyaları çoğaltmaz. Buradaki "ek dosya", base64 veya quoted-printable kodlanmış mime düğüm içeriği anlamına gelir, çözümlenmiş dosya değil. Kodlanmış içerik kullanmak birçok yanlış negatif (aynı dosyanın farklı e-postalarda farklı ek dosya olarak sayılması) anlamına gelse de, farklı imza şemalarının (DKIM, GPG vb.) geçerliliğini garanti etmek için gereklidir. Wild Duck'tan alınan bir mesaj, mesajı ağaç benzeri bir nesneye ayrıştırıp geri oluşturmasına rağmen, saklanan mesajla tamamen aynıdır. Forward Email'in SQLite Uygulaması:
Forward Email, şifreli SQLite depolama için bu yaklaşımı aşağıdaki süreçle uyarlamaktadır:
- Hash Hesaplama: Bir ek bulunduğunda, ek gövdesinden
rev-hashkütüphanesi kullanılarak bir hash hesaplanır - Arama:
Attachmentstablosunda eşleşen hash'e sahip bir ek olup olmadığı kontrol edilir - Referans Sayımı:
- Varsa: Referans sayacı 1 artırılır ve sihirli sayaç rastgele bir sayı ile artırılır
- Yeni ise: Sayaç = 1 olan yeni bir ek girişi oluşturulur
- Silme Güvenliği: Yanlış pozitifleri önlemek için çift sayaç sistemi (referans + sihirli) kullanılır
- Çöp Toplama: Her iki sayaç sıfıra ulaştığında ekler hemen silinir
Kaynak Kodu: helpers/attachment-storage.js
Çoğaltma Önleme Akışı
Sihirli Sayı Sistemi
Forward Email, silme sırasında yanlış pozitifleri önlemek için WildDuck'ın "sihirli sayı" sistemini (Mail.ru ilham alınarak) kullanır:
- Her mesaja rastgele bir sayı atanır
- Mesaj eklendiğinde ekin sihirli sayacı bu rastgele sayı kadar artırılır
- Mesaj silindiğinde sihirli sayaç aynı sayı kadar azaltılır
- Ek ancak her iki sayaç (referans + sihirli) sıfıra ulaştığında silinir
Bu çift sayaç sistemi, silme sırasında bir sorun (örneğin, çökme, ağ hatası) olursa ekin erken silinmesini engeller.
Temel Farklar: WildDuck vs Forward Email
| Özellik | WildDuck (MongoDB) | Forward Email (SQLite) |
|---|---|---|
| Depolama Altyapısı | MongoDB GridFS (parçalı) | SQLite BLOB (doğrudan) |
| Hash Algoritması | SHA256 | rev-hash (SHA-256 tabanlı) |
| Referans Sayımı | ✅ Evet | ✅ Evet |
| Sihirli Sayılar | ✅ Evet (Mail.ru ilhamlı) | ✅ Evet (aynı sistem) |
| Çöp Toplama | Gecikmeli (ayrı iş) | Anında (sayaç sıfırda) |
| Sıkıştırma | ❌ Yok | ✅ Brotli (aşağıya bakınız) |
| Şifreleme | ❌ İsteğe bağlı | ✅ Her zaman (ChaCha20-Poly1305) |
Brotli Sıkıştırma
Important
Dünyanın İlkleri: Forward Email, e-posta içeriğinde Brotli sıkıştırma kullanan dünyadaki tek e-posta servisidir. Bu, ek çoğaltma önlemenin üstüne %46-86 arasında depolama tasarrufu sağlar.
Forward Email, hem ek gövdeleri hem de mesaj meta verileri için Brotli sıkıştırmayı uygular; bu sayede büyük depolama tasarrufu sağlarken geriye dönük uyumluluğu korur.
Uygulama: helpers/msgpack-helpers.js
Neler Sıkıştırılır
1. Ek Gövdeleri (encodeAttachmentBody)
- Eski formatlar: Hex kodlu string (2 kat boyut) veya ham Buffer
- Yeni format: "FEBR" sihirli başlığı ile Brotli sıkıştırılmış Buffer
- Sıkıştırma kararı: Sadece yer tasarrufu sağlıyorsa sıkıştırır (4 baytlık başlık dikkate alınır)
- Depolama tasarrufu: %50'ye kadar (hex → yerel BLOB)
2. Mesaj Meta Verisi (
encodeMetadata)
İçerir: mimeTree, headers, envelope, flags
- Eski format: JSON metin dizisi
- Yeni format: Brotli ile sıkıştırılmış Buffer
- Depolama tasarrufu: Mesaj karmaşıklığına bağlı olarak %46-86
Sıkıştırma Yapılandırması
// Hız için optimize edilmiş Brotli sıkıştırma seçenekleri (seviye 4 iyi bir denge)
const BROTLI_COMPRESS_OPTIONS = {
params: {
[zlib.constants.BROTLI_PARAM_QUALITY]: 4
}
};
Neden Seviye 4?
- Hızlı sıkıştırma/açma: Milisaniyeden kısa işlem süresi
- İyi sıkıştırma oranı: %46-86 tasarruf
- Dengeli performans: Gerçek zamanlı e-posta işlemleri için optimal
Sihirli Başlık: "FEBR"
Forward Email, sıkıştırılmış ek gövdelerini tanımlamak için 4 baytlık sihirli başlık kullanır:
"FEBR" = Forward Email BRotli
Hex: 0x46 0x45 0x42 0x52
Neden sihirli başlık?
- Format tespiti: Sıkıştırılmış ve sıkıştırılmamış veriyi anında ayırt eder
- Geriye dönük uyumluluk: Eski hex dizileri ve ham Bufferlar hala çalışır
- Çakışma önleme: "FEBR" meşru ek verilerinin başında görünmesi olası değildir
Sıkıştırma Süreci
Açma Süreci
Geriye Dönük Uyumluluk
Tüm decode fonksiyonları depolama formatını otomatik algılar:
| Format | Algılama Yöntemi | İşlem |
|---|---|---|
| Brotli sıkıştırılmış | "FEBR" sihirli başlığı kontrolü | zlib.brotliDecompressSync() ile aç |
| Ham Buffer | Sihirli başlıksız Buffer.isBuffer() |
Olduğu gibi döndür |
| Hex dizesi | Çift uzunluk + [0-9a-f] karakter kontrolü | Buffer.from(value, 'hex') ile kod çöz |
| JSON dizesi | İlk karakter { veya [ kontrolü |
JSON.parse() ile ayrıştır |
Bu, eski depolama formatlarından yeni formatlara geçişte sıfır veri kaybı sağlar.
Depolama Tasarrufu İstatistikleri
Üretim verilerinden ölçülen tasarruflar:
| Veri Türü | Eski Format | Yeni Format | Tasarruf |
|---|---|---|---|
| Ek gövdeleri | Hex kodlu dize (2x) | Brotli sıkıştırılmış BLOB | %50 |
| Mesaj meta verisi | JSON metin | Brotli sıkıştırılmış BLOB | %46-86 |
| Posta kutusu bayrakları | JSON metin | Brotli sıkıştırılmış BLOB | %60-80 |
Kaynak: helpers/migrate-storage-format.js
Geçiş Süreci
Forward Email, eski depolama formatlarından yeni formatlara otomatik, idempotent geçiş sağlar: // Takip edilen göç istatistikleri: { attachmentsMigrated: 0, messagesMigrated: 0, mailboxesMigrated: 0, bytesSaved: 0 // Sıkıştırmadan toplam tasarruf edilen bayt }
**Göç adımları:**
1. Eklenti gövdeleri: hex kodlama → yerel BLOB ( %50 tasarruf)
2. Mesaj meta verisi: JSON metni → brotli sıkıştırılmış BLOB (%46-86 tasarruf)
3. Posta kutusu bayrakları: JSON metni → brotli sıkıştırılmış BLOB (%60-80 tasarruf)
**Kaynak:** [`helpers/migrate-storage-format.js`](https://github.com/forwardemail/forwardemail.net/blob/master/helpers/migrate-storage-format.js)
---
### Birleşik Depolama Verimliliği {#combined-storage-efficiency}
> \[!TIP]
> **Gerçek Dünya Etkisi:** Eklenti çoğaltma + Brotli sıkıştırma ile Forward Email kullanıcıları, geleneksel e-posta sağlayıcılarına kıyasla **2-3 kat daha etkili depolama** elde eder.
**Örnek Senaryo:**
Geleneksel e-posta sağlayıcısı (1GB posta kutusu):
* 1GB disk alanı = 1GB e-posta
* Çoğaltma yok: Aynı eklenti 10 kez saklanır = 10 kat depolama israfı
* Sıkıştırma yok: Tam JSON meta veri saklanır = 2-3 kat depolama israfı
Forward Email (1GB posta kutusu):
* 1GB disk alanı ≈ **2-3GB e-posta** (etkili depolama)
* Çoğaltma: Aynı eklenti bir kez saklanır, 10 kez referans verilir
* Sıkıştırma: Meta veride %46-86, eklentilerde %50 tasarruf
* Şifreleme: ChaCha20-Poly1305 (depolama yükü yok)
**Karşılaştırma Tablosu:**
| Sağlayıcı | Depolama Teknolojisi | Etkili Depolama (1GB posta kutusu) |
| ------------------ | -------------------------------------------- | --------------------------------- |
| Gmail | Yok | 1GB |
| iCloud | Yok | 1GB |
| Outlook.com | Yok | 1GB |
| Fastmail | Yok | 1GB |
| ProtonMail | Sadece şifreleme | 1GB |
| Tutanota | Sadece şifreleme | 1GB |
| **Forward Email** | **Çoğaltma + Sıkıştırma + Şifreleme** | **2-3GB** ✨ |
### Teknik Uygulama Detayları {#technical-implementation-details}
**Performans:**
* Brotli seviye 4: Milisaniyenin altında sıkıştırma/açma
* Sıkıştırmadan performans kaybı yok
* SQLite FTS5: NVMe SSD ile 50ms altı arama
**Güvenlik:**
* Sıkıştırma **şifrelemeden sonra** gerçekleşir (SQLite veritabanı şifreli)
* ChaCha20-Poly1305 şifreleme + Brotli sıkıştırma
* Sıfır bilgi: Şifre çözme parolası sadece kullanıcıda
**RFC Uyumluluğu:**
* Alınan mesajlar saklandığı gibi **tam olarak aynı** görünür
* DKIM imzaları geçerliliğini korur (kodlanmış içerik korunur)
* GPG imzaları geçerliliğini korur (imzalanan içerik değiştirilmez)
### Neden Başka Hiçbir Sağlayıcı Bunu Yapmıyor {#why-no-other-provider-does-this}
**Karmaşıklık:**
* Depolama katmanıyla derin entegrasyon gerektirir
* Geriye dönük uyumluluk zordur
* Eski formatlardan göç karmaşıktır
**Performans endişeleri:**
* Sıkıştırma CPU yükü ekler (Brotli seviye 4 ile çözüldü)
* Her okuma işleminde açma (SQLite önbellekleme ile çözüldü)
**Forward Email'in Avantajı:**
* Baştan sona optimizasyon düşünülerek inşa edildi
* SQLite doğrudan BLOB manipülasyonuna izin verir
* Kullanıcı başına şifreli veritabanları güvenli sıkıştırma sağlar
---
---
## Modern Özellikler {#modern-features}
## E-posta Yönetimi için Tam REST API {#complete-rest-api-for-email-management}
> \[!TIP]
> Forward Email, programatik e-posta yönetimi için 39 uç noktaya sahip kapsamlı bir REST API sağlar.
> \[!TIP]
> **Benzersiz Sektör Özelliği:** Diğer tüm e-posta servislerinin aksine, Forward Email posta kutunuz, takviminiz, kişileriniz, mesajlarınız ve klasörlerinize kapsamlı bir REST API aracılığıyla tam programatik erişim sunar. Bu, tüm verilerinizi depolayan şifreli SQLite veritabanı dosyanızla doğrudan etkileşimdir.
Forward Email, e-posta verilerinize eşi benzeri görülmemiş erişim sağlayan tam bir REST API sunar. Gmail, iCloud, Outlook, ProtonMail, Tuta veya Fastmail dahil hiçbir başka e-posta servisi bu düzeyde kapsamlı, doğrudan veritabanı erişimi sunmaz.
**API Dokümantasyonu:** <https://forwardemail.net/en/email-api>
### API Kategorileri (39 Uç Nokta) {#api-categories-39-endpoints}
**1. Mesajlar API'si** (5 uç nokta) - E-posta mesajları üzerinde tam CRUD işlemleri:
* `GET /v1/messages` - 15+ gelişmiş arama parametresi ile mesajları listele (başka hiçbir servis bunu sunmaz)
* `POST /v1/messages` - Mesaj oluştur/gönder
* `GET /v1/messages/:id` - Mesajı al
* `PUT /v1/messages/:id` - Mesajı güncelle (bayraklar, klasörler)
* `DELETE /v1/messages/:id` - Mesajı sil
*Örnek: Geçen çeyreğe ait ekli tüm faturaları bul:*
```bash
curl -u "alias@domain.com:password" \
"https://api.forwardemail.net/v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01"
Bkz. Gelişmiş Arama Dokümantasyonu
2. Klasörler API'si (5 uç nokta) - REST üzerinden tam IMAP klasör yönetimi:
GET /v1/folders- Tüm klasörleri listelePOST /v1/folders- Klasör oluşturGET /v1/folders/:id- Klasörü alPUT /v1/folders/:id- Klasörü güncelleDELETE /v1/folders/:id- Klasörü sil
3. Kişiler API'si (5 uç nokta) - REST üzerinden CardDAV kişi depolama:
GET /v1/contacts- Kişileri listelePOST /v1/contacts- Kişi oluştur (vCard formatında)GET /v1/contacts/:id- Kişiyi alPUT /v1/contacts/:id- Kişiyi güncelleDELETE /v1/contacts/:id- Kişiyi sil
4. Takvimler API'si (5 uç nokta) - Takvim konteyner yönetimi:
GET /v1/calendars- Takvim konteynerlerini listelePOST /v1/calendars- Takvim oluştur (örneğin, "İş Takvimi", "Kişisel Takvim")GET /v1/calendars/:id- Takvimi alPUT /v1/calendars/:id- Takvimi güncelleDELETE /v1/calendars/:id- Takvimi sil
5. Takvim Etkinlikleri API'si (5 uç nokta) - Takvimler içinde etkinlik planlama:
GET /v1/calendar-events- Etkinlikleri listelePOST /v1/calendar-events- Katılımcılarla etkinlik oluşturGET /v1/calendar-events/:id- Etkinliği alPUT /v1/calendar-events/:id- Etkinliği güncelleDELETE /v1/calendar-events/:id- Etkinliği sil
Örnek: Takvim etkinliği oluştur:
curl -u "alias@domain.com:password" \
-X POST \
-H "Content-Type: application/json" \
-d '{"title":"Takım Toplantısı","start":"2024-12-20T10:00:00Z","attendees":["team@example.com"],"calendar_id":"calendar123"}' \
https://api.forwardemail.net/v1/calendar-events
Teknik Detaylar
- Kimlik Doğrulama: Basit
alias:passwordkimlik doğrulama (OAuth karmaşası yok) - Performans: SQLite FTS5 ve NVMe SSD depolama ile 50ms altı yanıt süreleri
- Sıfır Ağ Gecikmesi: Harici servisler üzerinden proxy olmadan doğrudan veritabanı erişimi
Gerçek Dünya Kullanım Senaryoları
-
E-posta Analitiği: E-posta hacmi, yanıt süreleri, gönderen istatistiklerini takip eden özel panolar oluşturun
-
Otomatik İş Akışları: E-posta içeriğine göre tetiklenen işlemler (fatura işleme, destek talepleri)
-
CRM Entegrasyonu: E-posta konuşmalarını CRM'inizle otomatik senkronize edin
-
Uyumluluk & Keşif: Yasal/uyumluluk gereksinimleri için e-postaları arayın ve dışa aktarın
-
Özel E-posta İstemcileri: İş akışınıza özel e-posta arayüzleri oluşturun
-
İş Zekası: İletişim kalıplarını, yanıt oranlarını, müşteri etkileşimini analiz edin
-
Doküman Yönetimi: Ekleri otomatik olarak çıkarın ve kategorize edin
Forward Email, e-posta hesapları, alan adları, takma adlar ve mesajlar üzerinde tam kontrol sağlayan modern bir REST API sunar. Bu API, JMAP'e güçlü bir alternatif olarak hizmet verir ve geleneksel e-posta protokollerinin ötesinde işlevsellik sağlar.
| Kategori | Uç Noktalar | Açıklama |
|---|---|---|
| Hesap Yönetimi | 8 | Kullanıcı hesapları, kimlik doğrulama, ayarlar |
| Alan Adı Yönetimi | 12 | Özel alan adları, DNS, doğrulama |
| Takma Ad Yönetimi | 6 | E-posta takma adları, yönlendirme, catch-all |
| Mesaj Yönetimi | 7 | Mesaj gönderme, alma, arama, silme |
| Takvim & Kişiler | 4 | CalDAV/CardDAV API erişimi |
| Kayıtlar & Analitik | 2 | E-posta kayıtları, teslimat raporları |
Temel API Özellikleri
Gelişmiş Arama:
API, Gmail'e benzer sorgu sözdizimi ile güçlü arama yetenekleri sunar:
GET /v1/messages?q=subject:invoice+has:attachment+after:2024-01-01+before:2024-04-01
Desteklenen Arama Operatörleri:
from:- Gönderen bazında aramato:- Alıcı bazında aramasubject:- Konu bazında aramahas:attachment- Ekli mesajlaris:unread- Okunmamış mesajlaris:starred- Yıldızlı mesajlarafter:- Tarihten sonraki mesajlarbefore:- Tarihten önceki mesajlarlabel:- Etiketli mesajlarfilename:- Ek dosya adı
Takvim Etkinliği Yönetimi:
GET /v1/calendar-events
POST /v1/calendar-events
PUT /v1/calendar-events/:id
DELETE /v1/calendar-events/:id
Webhook Entegrasyonları:
API, e-posta olayları (alındı, gönderildi, geri döndü vb.) için gerçek zamanlı bildirimler sağlayan webhook'ları destekler.
Kimlik Doğrulama:
- API anahtarı kimlik doğrulaması
- OAuth 2.0 desteği
- Oran sınırlaması: Saatte 1000 istek
Veri Formatı:
- JSON istek/yanıt
- RESTful tasarım
- Sayfalama desteği
Güvenlik:
- Sadece HTTPS
- API anahtarı rotasyonu
- IP beyaz listeleme (isteğe bağlı)
- İstek imzalama (isteğe bağlı)
API Mimarisi
iOS Push Bildirimleri
Tip
Forward Email, anlık e-posta teslimi için XAPPLEPUSHSERVICE aracılığıyla yerel iOS push bildirimlerini destekler.
Important
Benzersiz Özellik: Forward Email, XAPPLEPUSHSERVICE IMAP uzantısı aracılığıyla e-posta, kişiler ve takvimler için yerel iOS push bildirimlerini destekleyen birkaç açık kaynaklı e-posta sunucusundan biridir. Bu, Apple'ın protokolünden tersine mühendislik ile elde edilmiştir ve iOS cihazlarına pil tüketimi olmadan anlık teslimat sağlar.
Forward Email, Apple'ın özel XAPPLEPUSHSERVICE uzantısını uygular ve arka plan sorgulaması gerektirmeden iOS cihazları için yerel push bildirimleri sağlar.
Nasıl Çalışır
XAPPLEPUSHSERVICE, iOS Mail uygulamasının yeni e-postalar geldiğinde anlık push bildirimleri almasını sağlayan standart dışı bir IMAP uzantısıdır.
Forward Email, iOS Mail uygulamasının yeni e-postalar geldiğinde anlık push bildirimleri almasını sağlayan Apple Push Notification service (APNs) entegrasyonunu IMAP için uygular.
Temel Özellikler
Anlık Teslimat:
- Push bildirimleri saniyeler içinde gelir
- Pil tüketen arka plan sorgulaması yok
- Mail uygulaması kapalıyken bile çalışır
-
Anlık Teslimat: E-postalar, takvim etkinlikleri ve kişiler iPhone/iPad'inizde hemen görünür, sorgulama planında değil
-
Pil Verimli: Sürekli IMAP bağlantıları yerine Apple'ın push altyapısını kullanır
-
Konu Bazlı Push: Sadece INBOX değil, belirli posta kutuları için push bildirimlerini destekler
-
Üçüncü Parti Uygulama Gerektirmez: Yerel iOS Mail, Takvim ve Kişiler uygulamaları ile çalışır Yerel Entegrasyon:
-
iOS Mail uygulamasına entegre
-
Üçüncü taraf uygulama gerektirmez
-
Kesintisiz kullanıcı deneyimi
Gizlilik Odaklı:
- Cihaz tokenları şifrelenir
- APNS üzerinden mesaj içeriği gönderilmez
- Sadece "yeni posta" bildirimi gönderilir
Pil Verimli:
- Sürekli IMAP sorgulaması yok
- Cihaz bildirim gelene kadar uyur
- Minimum pil etkisi
Bunu Özel Kılan Nedir
Important
Çoğu e-posta sağlayıcısı XAPPLEPUSHSERVICE'i desteklemez, bu da iOS cihazlarının her 15 dakikada bir yeni posta için sorgulama yapmasını zorunlu kılar.
Çoğu açık kaynaklı e-posta sunucusu (Dovecot, Postfix, Cyrus IMAP dahil) iOS push bildirimlerini desteklemez. Kullanıcılar ya:
- IMAP IDLE kullanmak zorundadır (bağlantıyı açık tutar, pil tüketir)
- Sorgulama kullanmak zorundadır (her 15-30 dakikada kontrol eder, bildirimler gecikir)
- Kendi push altyapısına sahip özel e-posta uygulamalarını kullanmak zorundadır
Forward Email, Gmail, iCloud ve Fastmail gibi ticari servislerle aynı anlık push bildirim deneyimini sunar.
Diğer Sağlayıcılarla Karşılaştırma:
| Sağlayıcı | Push Desteği | Sorgulama Aralığı | Pil Etkisi |
|---|---|---|---|
| Forward Email | ✅ Yerel Push | Anlık | Minimum |
| Gmail | ✅ Yerel Push | Anlık | Minimum |
| iCloud | ✅ Yerel Push | Anlık | Minimum |
| Yahoo | ✅ Yerel Push | Anlık | Minimum |
| Outlook.com | ❌ Sorgulama | 15 dakika | Orta |
| Fastmail | ❌ Sorgulama | 15 dakika | Orta |
| ProtonMail | ⚠️ Sadece Köprü | Köprü Üzerinden | Yüksek |
| Tutanota | ❌ Sadece Uygulama | Uygulanamaz | Uygulanamaz |
Uygulama Detayları
IMAP CAPABILITY Yanıtı:
* CAPABILITY IMAP4rev1 ... XAPPLEPUSHSERVICE ...
Kayıt Süreci:
- iOS Mail uygulaması XAPPLEPUSHSERVICE yeteneğini algılar
- Uygulama cihaz tokenını Forward Email'e kaydeder
- Forward Email tokenı saklar ve hesapla ilişkilendirir
- Yeni posta geldiğinde Forward Email APNS üzerinden push gönderir
- iOS Mail uygulamasını yeni mesajları almak için uyandırır
Güvenlik:
- Cihaz tokenları dinlenme halinde şifrelenir
- Tokenlar süresi dolduğunda otomatik yenilenir
- Mesaj içeriği APNS'ye ifşa edilmez
- Uçtan uca şifreleme korunur
- IMAP Uzantısı:
XAPPLEPUSHSERVICE - Kaynak Kodu: WildDuck Issue #711
- Kurulum: Otomatik - yapılandırma gerekmez, iOS Mail uygulaması ile kutudan çıkar çıkmaz çalışır
Diğer Servislerle Karşılaştırma
| Servis | iOS Push Desteği | Yöntem |
|---|---|---|
| Forward Email | ✅ Evet | XAPPLEPUSHSERVICE (tersine mühendislik) |
| Gmail | ✅ Evet | Özel Gmail uygulaması + Google push |
| iCloud Mail | ✅ Evet | Yerel Apple entegrasyonu |
| Outlook.com | ✅ Evet | Özel Outlook uygulaması + Microsoft push |
| Fastmail | ✅ Evet | XAPPLEPUSHSERVICE |
| Dovecot | ❌ Hayır | Sadece IMAP IDLE veya sorgulama |
| Postfix | ❌ Hayır | Sadece IMAP IDLE veya sorgulama |
| Cyrus IMAP | ❌ Hayır | Sadece IMAP IDLE veya sorgulama |
Gmail Push:
Gmail, sadece Gmail uygulamasıyla çalışan özel bir push sistemi kullanır. iOS Mail uygulaması Gmail IMAP sunucularını sorgulamak zorundadır.
iCloud Push:
iCloud, Forward Email'e benzer yerel push desteğine sahiptir, ancak sadece @icloud.com adresleri için geçerlidir.
Outlook.com XAPPLEPUSHSERVICE'i desteklemez, bu nedenle iOS Mail her 15 dakikada bir sorgulama yapmak zorundadır.
Fastmail:
Fastmail XAPPLEPUSHSERVICE'i desteklemez. Kullanıcılar push bildirimleri için Fastmail uygulamasını kullanmalı veya 15 dakikalık sorgulama gecikmesini kabul etmelidir.
Test ve Doğrulama
Protokol Yeteneği Testleri
Note
Bu bölüm, 22 Ocak 2026 tarihinde gerçekleştirilen en son protokol yetenek testlerimizin sonuçlarını sunmaktadır.
Bu bölüm, test edilen tüm sağlayıcılardan alınan gerçek CAPABILITY/CAPA/EHLO yanıtlarını içermektedir. Tüm testler 22 Ocak 2026 tarihinde yapılmıştır.
Bu testler, büyük sağlayıcılar arasında çeşitli e-posta protokolleri ve uzantılarının ilan edilen ve gerçek desteklerini doğrulamaya yardımcı olur.
Test Metodolojisi
Test Ortamı:
- Tarih: 22 Ocak 2026, 02:37 UTC
- Konum: AWS EC2 örneği
- IPv4: 54.167.216.197
- IPv6: 2600:4040:46da:9a00:b19e:3ad4:426c:2f48
- Araçlar: OpenSSL s_client, bash betikleri
Test Edilen Sağlayıcılar:
- Forward Email
- Gmail
- Outlook.com
- iCloud
- Fastmail
- Yahoo/AOL (Verizon)
Test Betikleri
Tam şeffaflık için, bu testlerde kullanılan tam betikler aşağıda verilmiştir.
IMAP Yetenek Test Betiği
#!/bin/bash
# IMAP Capability Test Script
# Tests IMAP CAPABILITY for various email providers
echo "========================================="
echo "IMAP CAPABILITY TEST"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""
# Gmail
echo "--- Gmail (imap.gmail.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.gmail.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Outlook.com
echo "--- Outlook.com (outlook.office365.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect outlook.office365.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# iCloud
echo "--- iCloud (imap.mail.me.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.mail.me.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Fastmail
echo "--- Fastmail (imap.fastmail.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.fastmail.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Yahoo
echo "--- Yahoo (imap.mail.yahoo.com:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.mail.yahoo.com:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
# Forward Email
echo "--- Forward Email (imap.forwardemail.net:993) ---"
echo -e "a001 CAPABILITY\na002 LOGOUT" | timeout 10 openssl s_client -connect imap.forwardemail.net:993 -crlf -quiet 2>&1 | grep -A 20 "CAPABILITY"
echo ""
echo "========================================="
echo "Test completed"
echo "========================================="
POP3 Yetenek Test Betiği
#!/bin/bash
# POP3 Capability Test Script
# Tests POP3 CAPA for various email providers
echo "========================================="
echo "POP3 CAPABILITY TEST"
echo "Date: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""
# Gmail
echo "--- Gmail (pop.gmail.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.gmail.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# Outlook.com
echo "--- Outlook.com (outlook.office365.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect outlook.office365.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# iCloud (Not: iCloud POP3 desteklemez)
echo "--- iCloud (POP3 desteği yok) ---"
echo "iCloud POP3 desteklememektedir"
echo ""
# Fastmail
echo "--- Fastmail (pop.fastmail.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.fastmail.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# Yahoo
echo "--- Yahoo (pop.mail.yahoo.com:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop.mail.yahoo.com:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
# Forward Email
echo "--- Forward Email (pop3.forwardemail.net:995) ---"
echo -e "CAPA\nQUIT" | timeout 10 openssl s_client -connect pop3.forwardemail.net:995 -crlf -quiet 2>&1 | grep -A 20 "CAPA"
echo ""
echo "========================================="
echo "Test completed"
echo "========================================="
SMTP Yetenek Testi Betiği
#!/bin/bash
# SMTP Yetenek Testi Betiği
# Çeşitli e-posta sağlayıcıları için SMTP EHLO testleri yapar
echo "========================================="
echo "SMTP YETENEK TESTİ"
echo "Tarih: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo "========================================="
echo ""
# Gmail
echo "--- Gmail (smtp.gmail.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.gmail.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Outlook.com
echo "--- Outlook.com (smtp.office365.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.office365.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# iCloud
echo "--- iCloud (smtp.mail.me.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.mail.me.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Fastmail
echo "--- Fastmail (smtp.fastmail.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.fastmail.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Yahoo
echo "--- Yahoo (smtp.mail.yahoo.com:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.mail.yahoo.com:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
# Forward Email
echo "--- Forward Email (smtp.forwardemail.net:587) ---"
echo -e "EHLO test.com\nQUIT" | timeout 10 openssl s_client -connect smtp.forwardemail.net:587 -starttls smtp -crlf -quiet 2>&1 | grep -A 30 "250-"
echo ""
echo "========================================="
echo "Test tamamlandı"
echo "========================================="
Test Sonuçları Özeti
IMAP (YETENEK)
Forward Email
* CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN CHILDREN ENABLE ID IDLE NAMESPACE QUOTA SASL-IR UNSELECT XLIST XAPPLEPUSHSERVICE
Gmail
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE
iCloud
* OK [CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN AUTH=ATOKEN2 AUTH=XOAUTH2]
* CAPABILITY IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
Fastmail
* CAPABILITY IMAP4rev1 ACL ANNOTATE-EXPERIMENT-1 CATENATE CONDSTORE ENABLE ESEARCH ESORT I18NLEVEL=1 ID IDLE LIST-EXTENDED LIST-STATUS LITERAL+ LOGINDISABLED MULTIAPPEND NAMESPACE QRESYNC QUOTA RIGHTS=ektx SASL-IR SORT SPECIAL-USE THREAD=ORDEREDSUBJECT UIDPLUS UNSELECT WITHIN X-RENAME XLIST
Yahoo/AOL (Verizon)
* CAPABILITY IMAP4rev1 IDLE NAMESPACE QUOTA ID XLIST CHILDREN UIDPLUS MOVE CONDSTORE ESEARCH ENABLE LIST-EXTENDED LIST-STATUS LITERAL- SPECIAL-USE UNSELECT XAPPLEPUSHSERVICE
POP3 (CAPA)
Forward Email
+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION ForwardEmail
.
Gmail
+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION Gpop
.
+OK
CAPA
TOP
USER
UIDL
SASL PLAIN XOAUTH2
.
Fastmail
+OK
CAPA
TOP
USER
UIDL
EXPIRE 30
IMPLEMENTATION Cyrus
.
SMTP (EHLO)
Forward Email
250-smtp.forwardemail.net
250-PIPELINING
250-SIZE 52428800
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING
Gmail
250-smtp.gmail.com at your service
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8
250-SN4PR13CA0005.outlook.office365.com Hello [x.x.x.x]
250-SIZE 157286400
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 SMTPUTF8
Fastmail
250-smtp.fastmail.com
250-PIPELINING
250-SIZE 78643200
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 CHUNKING
Yahoo/AOL (Verizon)
250-smtp.mail.yahoo.com
250-PIPELINING
250-SIZE 41943040
250-8BITMIME
250-ENHANCEDSTATUSCODES
250-STARTTLS
Detaylı Test Sonuçları
IMAP Test Sonuçları
Gmail:
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER
Outlook.com:
* CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
iCloud:
* CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN AUTH=ATOKEN2 AUTH=XOAUTH2
Fastmail: Bağlantı zaman aşımına uğradı. Aşağıdaki notlara bakınız.
Yahoo:
* CAPABILITY IMAP4rev1 SASL-IR AUTH=PLAIN AUTH=XOAUTH2 AUTH=OAUTHBEARER ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN UNSELECT X-MSG-EXT OBJECTID IDLE ENABLE UIDONLY X-ALL-MAIL X-UIDONLY LIST-EXTENDED LIST-STATUS SPECIAL-USE PARTIAL APPENDLIMIT=41697280
Forward Email:
* CAPABILITY XAPPLEPUSHSERVICE IMAP4rev1 APPENDLIMIT=52428800 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN CHILDREN CONDSTORE ENABLE ID IDLE MOVE NAMESPACE QUOTA SASL-IR SPECIAL-USE UIDPLUS UNSELECT UTF8=ACCEPT XLIST
POP3 Test Sonuçları
Gmail: Bağlantı kimlik doğrulaması olmadan CAPA yanıtı döndürmedi.
Outlook.com: Bağlantı kimlik doğrulaması olmadan CAPA yanıtı döndürmedi.
iCloud: Desteklenmiyor.
Fastmail: Bağlantı zaman aşımına uğradı. Aşağıdaki notlara bakınız.
Yahoo:
+OK CAPA list follows... SASL PLAIN XOAUTH2
Forward Email: Bağlantı kimlik doğrulaması olmadan CAPA yanıtı döndürmedi.
SMTP Test Sonuçları
Gmail:
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
Outlook.com:
250-DSN
iCloud:
250-DSN
Fastmail:
250 AUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER
Yahoo:
250 AUTH PLAIN LOGIN XOAUTH2 OAUTHBEARER
Forward Email:
250-DSN, 250-REQUIRETLS
Test Sonuçları Hakkında Notlar
Note
Test sonuçlarından önemli gözlemler ve sınırlamalar.
-
Fastmail Zaman Aşımı: Fastmail bağlantıları test sırasında zaman aşımına uğradı, muhtemelen test sunucusu IP'sinden kaynaklanan hız sınırlaması veya güvenlik duvarı kısıtlamaları nedeniyle. Fastmail, belgelerine göre sağlam IMAP/POP3/SMTP desteğine sahiptir.
-
POP3 CAPA Yanıtları: Bazı sağlayıcılar (Gmail, Outlook.com, Forward Email) kimlik doğrulaması olmadan CAPA yanıtı döndürmedi. Bu, POP3 sunucuları için yaygın bir güvenlik uygulamasıdır.
-
DSN Desteği: Yalnızca Outlook.com, iCloud ve Forward Email SMTP EHLO yanıtlarında DSN desteğini açıkça bildiriyor. Bu, diğer sağlayıcıların DSN desteklemediği anlamına gelmez, sadece bunu duyurmadıkları anlamına gelir.
-
REQUIRETLS: Yalnızca Forward Email, kullanıcıya yönelik zorunlu TLS desteğini onay kutusuyla açıkça bildiriyor. Diğer sağlayıcılar dahili olarak destekleyebilir ancak EHLO'da duyurmazlar.
-
Test Ortamı: Testler 22 Ocak 2026, 02:37 UTC tarihinde AWS EC2 örneğinden (IP: 54.167.216.197 IPv4, 2600:4040:46da:9a00:b19e:3ad4:426c:2f48 IPv6) gerçekleştirildi.
Özet
Forward Email, tüm büyük e-posta standartlarında kapsamlı RFC protokol desteği sunar:
- IMAP4rev1: 16 desteklenen RFC, belgelenmiş kasıtlı farklılıklarla
- POP3: RFC uyumlu kalıcı silme ile 4 desteklenen RFC
- SMTP: SMTPUTF8, DSN ve PIPELINING dahil 11 desteklenen uzantı
- Kimlik Doğrulama: DKIM, SPF, DMARC, ARC tam destekli
- Taşıma Güvenliği: MTA-STS ve REQUIRETLS tam destekli, DANE kısmi destekli
- Şifreleme: OpenPGP v6 ve S/MIME destekli
- Takvim: CalDAV, CardDAV ve VTODO tam destekli
- API Erişimi: Doğrudan veritabanı erişimi için 39 uç noktalı tam REST API
- iOS Push: E-posta, kişiler ve takvimler için yerel push bildirimleri
XAPPLEPUSHSERVICEaracılığıyla
Temel Farklılaştırıcılar
Tip
Forward Email, diğer sağlayıcılarda bulunmayan benzersiz özelliklerle öne çıkar.
Forward Email'i Benzersiz Kılanlar:
- Kuantum Güvenli Şifreleme - ChaCha20-Poly1305 şifreli SQLite posta kutularına sahip tek sağlayıcı
- Sıfır Bilgi Mimarisi - Şifreniz posta kutunuzu şifreler; biz çözemeyiz
- Ücretsiz Özel Alan Adları - Özel alan adı e-postası için aylık ücret yok
- REQUIRETLS Desteği - Tüm teslimat yolu için TLS zorunluluğunu kullanıcıya yönelik onay kutusuyla uygular
- Kapsamlı API - Tam programatik kontrol için 39 REST API uç noktası
- iOS Push Bildirimleri - Anında teslimat için yerel XAPPLEPUSHSERVICE desteği
- Açık Kaynak - Tam kaynak kodu GitHub’da mevcut
- Gizlilik Odaklı - Veri madenciliği yok, reklam yok, takip yok
- Sandboxed Şifreleme: Bireysel olarak şifrelenmiş SQLite posta kutularına sahip tek e-posta servisi
- RFC Uyumluluğu: Kolaylıktan çok standartlara uyumu önceliklendirir (örneğin, POP3 DELE)
- Tam API: Tüm e-posta verilerine doğrudan programatik erişim
- Açık Kaynak: Tam şeffaf uygulama
Protokol Destek Özeti:
| Kategori | Destek Seviyesi | Detaylar |
|---|---|---|
| Temel Protokoller | ✅ Mükemmel | IMAP4rev1, POP3, SMTP tam desteklenir |
| Modern Protokoller | ⚠️ Kısmi | IMAP4rev2 kısmi destek, JMAP desteklenmez |
| Güvenlik | ✅ Mükemmel | DKIM, SPF, DMARC, ARC, MTA-STS, REQUIRETLS |
| Şifreleme | ✅ Mükemmel | OpenPGP, S/MIME, SQLite şifreleme |
| CalDAV/CardDAV | ✅ Mükemmel | Tam takvim ve kişi senkronizasyonu |
| Filtreleme | ✅ Mükemmel | Sieve (24 uzantı) ve ManageSieve |
| API | ✅ Mükemmel | 39 REST API uç noktası |
| Push | ✅ Mükemmel | Yerel iOS push bildirimleri |