Neden bir SMTP sunucusuna ihtiyacım var?


92

Posta göndermek için neden bir ara SMTP sunucusuna ihtiyacım var? Müşterim (Outlook, Thunderbird) neden doğrudan alıcının SMTP etki alanına mesaj gönderemiyor?

Örneğin, address@example.comGmail hesabımla bir e-posta göndermek zorunda kalırsam, smtp.gmail.comsunucuya gönderirim ; ve sonra bu sunucu mesajımı MX sunucusuna gönderecek example.com.


Yanıtlar:


114

Bilgisayarınızdan doğrudan alıcının SMTP sunucusuna bir e-posta göndermek teknik olarak mümkündür.

Tarihsel bir temelden bakıldığında, eğer uzak SMTP sunucusu kapalıysa, bir sistemin otomatik olarak ele almasını ve yeniden denemesini sürdürmesini istersiniz - bu nedenle bir SMTP sunucunuz vardır. Benzer şekilde, eski günlerde, tüm posta sunucuları her zaman bağlı değildi - uzun mesafeli bağlantılar pahalıydı, bu nedenle postalar bir bağlantı kurulduğunda sıraya alınacak ve gönderilmişti.

İnternetin ucuz olduğu yere gidildiğinde, bir sunucu kullanılamıyorsa e-posta göndermeyi yeniden denemek için mekanizmaların kullanılması yararlı olacaktır ve bu işlevselliğin MUA'ya (Posta kullanıcısı / son kullanıcı posta programı) yazılması için ideal değildir. Bu işlevler bir MTA'ya (Posta sunucusu / SMTP sunucusu) uyar.

Ama daha da kötüye gidiyor - spam gönderenlere . Çoğu e-posta (% 80'den fazla) spam. Bu nedenle, posta sağlayıcıları bu sorunu azaltmak için ellerinden geleni yaparlar - ve çok sayıda teknik, e-postanın sunulmasıyla ilgili varsayımlarda bulunur - aşağıdakiler önemli hususlardır:

  1. Gri listeleme: Gönderen ve alıcı daha önce iletişim kurmamışsa, bazı sağlayıcılar otomatik olarak bir posta bağlantısını kesecek ve ikinci kez denemelerini bekleyeceklerdir; Bu spam hacimlerini yaklaşık% 80 oranında azaltır. Bunu yapmak zorunda olsa bile berbat.

  2. İtibar: Saygın, bilinen bir SMTP sunucusu üzerinden e-posta gönderen birinin gece uçucu bir sunucudan okunaklı olması çok daha olasıdır. Şöhreti hissetmek için, sağlayıcılar birçok şey yapar:

    1. Dinamik / müşteri adreslerini engelle (% 100 değil, İnternet’in büyük bölümleri eşleştirildi).

    2. Ters DNS'in ileri DNS ile eşleştiğini görün: Yapması çok zor değil, ancak bir miktar hesap verebilirlik ve en iyi uygulamaların bilgisini gösterir - ve çok sayıda müşteri adres bloğu olmayan bir şey gösterir.

    3. İtibar: Diğer SMTP sunucuları ile iletişim kurarken, pek çok sağlayıcı gönderilen spam miktarını ve gönderilen e-posta hacmini takip eder ve bağlantıları sınırlayarak ve bu parametrelere dikkat ederek spam miktarını azaltabilir. (Bunun yapılmasının birçok yolu vardır, hepsi açık değildir, ancak bilinen bir göndereni gerektirir).

    4. SPF ve DKIM: Bu mekanizmalar sahte posta yapmak için DNS kaynaklarını etki alanı adına bağlar ve posta postasını zorlaştırmak zor olabilir (ancak posta programının (MUA) giden postadan sorumlu olması durumunda dağıtılması imkansız değildir) (Bu cevabı daha fazla yapmak için eklendi). çoktan kabul edildiği haliyle tamamlandı Kredi, aklımdan çıktıktan sonra aşağıdaki posterlere gitmeli ama yine de çok geçerli)

Muhtemelen başka küçük kaygılar da var, ancak bunlar en büyük sorunlardan biri.


19
SPF (bir etki alanı için posta göndermesine izin verilen ana bilgisayarların beyaz listesi) ve DKIM (etki alanı düzeyinde mesajların dijital olarak imzalanması) gibi tam olarak küçük olmayan şeyleri unutmayın - özellikle ikincisi yalnızca özel bir röle ile mümkündür.
Gravity

@grawity Kesinlikle kayda değer, ancak DKIM özel bir röle olmadan neden "mümkün" değil? DKIM seçicileri gönderen uygulamaya veya IP adresine bağlı değildir. Posta istemciniz mesajı yayınlanan bir anahtarla imzalayabilirse, diğer tüm imzalayanlar kadar geçerlidir.
Mathias R. Jessen

2
@ManuH: İnce cevaptaki metriklere göre normal posta, posta hacminin 1 / 5'inden ödün vermez. Üzerinde ölçümlerle gibi benim sunucuya normal posta posta hacminin 1/20 uzlaşır. Müthiş bir takas.
dotancohen

1
@manuh: Gri liste, e-posta gönderilmeden önce bağlantıyı kapattırarak çalışır - yalnızca gönderici ve alıcıyı alana kadar dinler - başlıktakiler. Ayrıca, bazı gri liste sistemleri hemen çalışacaktır. yeniden deneme geçmişi olan bir smtp sunucusundaki tüm e-postaları kabul et. Ne yazık ki, çok etkili.
davidgo

4
"İyi ol 'günlerinde" postaların bir SMTP sunucusundan diğerine, daha sonra diğerine, sonra bir başkasına, sonra hedefine ulaşmadan önce gönderildiğini ekleyebiliriz. Bu genellikle işe yarardı, ancak örneğin rtm-solucan saldırısı sırasında, bilgisayardan biri, önemli posta rölelerinden biriydi, bu nedenle uyarıcı e-postalar, solucan için çözümler ve düzeltmeler, e-postalara ulaşmak 48 saat kadar sürebilirdi. alıcıları.
Baard Kopperud,

32

Posta göndermek için neden bir ara SMTP sunucusuna ihtiyacım var? Müşterim (Outlook, Thunderbird) neden doğrudan alıcının SMTP etki alanına mesaj gönderemiyor?

1991'de - ve 1990'ların başlarında ve hatta daha erken bir zamanda - tanımladığın şeyi yapabilirsin. Ancak 2015'teki gerçek şu ki, teknik olarak üzerinde posta servisi bulunan herhangi bir makineden herhangi birine teknik olarak bir e-posta gönderilebiliyor olsa da, SPAM dünyası bu yöntemi etkili bir şekilde işe yaramaz hale getirdi.

“Gerçek” bir SMTP hizmeti kullandığınızda, her şey bir amaç için ve yalnızca bir amaç için oluşturulan PTR kayıtları, SPF kayıtları ve hatta DomainKey'ler gibi şeyler ayarlanır: mesajı gönderen SMTP'nin yasal olduğunu kanıtlamak için. Ya değilse? İletiyi bir SPAM klasörüne veya silme işleminin "büyük uçurumuna" süzün. İşte bu öğelerin her birinin ne olduğuna dair bir dağılım:

  • PTR (İşaretçi Kaydı / Ters DNS Kaydı): Sunucu seviyesi doğrulaması. Burada açıklandığı gibi , bir PTR kaydı bir ağ arayüzünü (IP) bir ana bilgisayar adına eşlemek için kullanılır. Yani 123.456.789.0, SMTP sunucunuzda e-posta gönderen adresiniz varsa smtp.example.com, bunun için uygun bir PTR kaydı olacaktır smtp.example.com. Çok basit görünüyor, ancak gerçekten de bir PTR kaydı ayarlayabilen tek kişi IP adresinin sahibi olduğundan ve yalnızca donanımlarında ayarlanabildiğinden dolayı çalışıyor. Bu nedenle, bu IP adresini kimin sahibi / işleten / yöneten konusunda bir doğrulama noktası görevi görür.

  • SPF (Gönderen İlkesi Çerçevesi): Ana bilgisayar adı DNS giriş seviyesi doğrulaması. Bir SPF kaydı - burada açıklandığı gibi - temel olarak , bu etki alanı adı için e-posta göndermesine izin verilen sunucuların IP adreslerinin ve ana bilgisayar adlarının listesini sağlayan etki alanı adı sahibinin belirlediği bir DNS kaydıdır. Bu da bir SMTP sunucusu için yalnızca gerçek etki alanı adı sahibinin posta gönderebilmesini sağlayan başka bir doğrulama adımıdır. Diyelim ki IP adresi olan bir sunucu 123.456.789.9için e-posta gönderiyor example.com. Bunun smtp.example.comkullandığını zaten biliyoruz 123.456.789.0, ancak için bir SPF kaydı girişi şöyle example.comdiyor: “Hey! 123.456.789.9iyi bir sunucu! O yasal! E-postalarına saygı göster! ”

  • DKIM (DomainKeys Tanımlı Posta): E-posta mesajı seviyesi doğrulaması. Burada ve Wikipedia'da açıklandığı gibi , “DKIM, e-posta sahtekarlığının bir alandan gelen postanın o alanın yöneticileri tarafından yetkilendirildiğini ve bu e-postanın (ekler de dahil) tarafından yetkilendirildiğini kontrol etmesine izin verecek bir mekanizma sağlayarak e-posta sahtekarlığını tespit etmek için tasarlanmış bir e-posta doğrulama sistemidir. taşıma sırasında değiştirilmedi. ”DKIM, kriptografik özetleme kullanarak, postaların taşıma sırasında filtrelenmediğini veya tahrif edilmediğini doğrular. Bu aynı zamanda “Yasal mısın yoksa SPAM mısın?” Zincirinde başka bir doğrulama noktası olarak hizmet ediyor.

Sonuçta, halka açık bir SMTP sunucusunun değerinde bir şey, SMTP sunucusunun ve ilgili e-postanın okunaklı olduğunu doğrulamak için bu öğelerin en az ikisine (PTR ve SPF) sahip olacaktır. Herkes DKIM'i kullanmaz, ancak SPAM'lerin SPAM gönderme çabalarında daha titiz hale geldiği günümüzde giderek daha popüler hale gelen bir başka doğrulama katmanıdır.


15

Çoğu konut ISS'si, bir spam ağına katılmanızı engellemek için 25 numaralı TCP bağlantı noktasını (SMTP) engeller. Bilgisayarınıza virüs bulaşırsa, bilgisayarınız başkalarının emriyle spam yaymaya başlayabilir.


"Çoğu ISS’nin 25 numaralı TCP bağlantı noktasını engellediğini (SMTP)" yazıyorsunuz <- bunun ne anlama geldiğini açıklayabilir misiniz? Yani, 25 numaralı bağlantı noktasındaki bir SMTP sunucusuyla giden bağlantı kurmanıza izin vermiyorlar mı? Yoksa 25 numaralı bağlantı noktasından bağlantı almanıza izin vermeyeceklerini mi söylüyorsunuz?
barlop

2
Birincisi @barlop - 25'in üzerindeki bağlantılarını konut bağlantılarından kendi posta sunucuları dışındaki makinelere (ya da aslında herhangi bir yere, çünkü kendi sunucuları için 587 ya da 465'i kullanabilirler) engelliyorlar. Bununla birlikte, çoğu ISS'nin yaptığını söylemek biraz abartılı.
Ocaklar

2
@ hobbs - Deneyim (ve işimin adil bir parçası) farklı. Pek çok ISS ağını 25 numaralı bağlantı noktası hedefiyle (25 numaralı bağlantı noktasını posta sunucuları üzerinden zorlayan) hedefiyle trafiği engelleyecek olsa da, bu genellikle 587 veya 465 numaralı bağlantı noktaları için geçerli değildir - ve bu gerçekten de mantıklıdır. Port 587 ve 465 genellikle kimlik doğrulama GEREKTİRİR ve MTA-MTA'dan ziyade MTA'ya MUA'yı bloke eder ve özel olarak bloke eder - Bu portların bloke edilmesi, birçok şirketin dolaşım, hesap verebilirlik ve SPF'yi kırmamasını gerektirdiği için HUGE boşluk yaratır.
davidgo

3
@ hobbs, çoğu ISS'nin bunu yaptığını hiç yazmamıştım; yazdığım şey çoğu konut ISS'nin bunu yaptığı. Örneğin, AT&T, Comcast, TWC, Verizon, vb. Konut müşterileri için bunu yapar, ancak bunu ticari müşterileri için yapmazlar.
Ron Maupin

6

Diğer cevapların hepsi mükemmel ve spam'in bununla bir ilgisi var.

Fakat aslında daha basit, daha genel bir cevap var: özellikler. SMTP yoluyla e-posta göndermek aslında çok karmaşık bir girişimdir. Spam olmasa bile, tüm e-posta istemcilerinde SMTP protokolünün tüm özellik setini uygulamak istemezsiniz; Özel bir yazılım parçasıyla daha iyi durumdasınız (sendmail, postfix vs., * nix dünyasında büyük, Windows dünyasında Exchange).

Örneğin, en temelde bile, "gerçek" bir SMTP sunucusunun en azından MX kayıtlarını çözebilmesi gerekir. Daha sonra özellikleri müzakere etmesi gerekir (çoğunlukla TLS, ancak başka özellikler de var). Yeniden deneme için sıraları yönetmeli, teslim edilmeyen raporlar oluşturmalı vb.

Ve bu sadece sunucunun çalışamayacağı temelde olması gereken, işlevselliğidir. Adres yeniden yazma, posta ile gönderme gibi şeyleri bile içermiyor. Senden gönderdiği ve UUCP gibi destek veren diğer protokollerden bahsetmiyorum bile.

SMTP uygulaması Outlook, Thunderbird vb .'de çok düşüktür - en iyi ihtimalle, eğer varsa, sendmail'de akıllı bir ana bilgisayar kullanmaya denk.

İlgili, ancak ayrı bir konu: e-posta çok güvenlik açısından hassas bir konudur ve her masaüstünde potansiyel olarak yüzlerce veya binlerce bireysel sunucu yerine bir veya birkaç tane merkezi olarak yönetilen sunucuya sahip olmak istersiniz.


Bu iyi bir nokta. Bu sadece sıraya koyma için gerçek özellikler ile ilgili değildir, ancak: sunucunun kullanılabilirliği bu özelliklerden bazıları için bir fark yaratır. Bir sorun varsa ve dizüstü bilgisayarınızı kapattığınızda, bir dahaki açılıncaya kadar yeniden deneyemezsiniz - posta sunucusunun 7 gün 24 saat kullanılabilir olması muhtemeldir; Mesajınızı SMTP ile sunucuya gönderdikten sonra, posta istemcinizin teslimatı sağlamak için çevrimiçi kalması gerekmez.
David Spillett

4

Posta göndermek için neden bir ara SMTP sunucusuna ihtiyacım var? Müşterim (Outlook, Thunderbird) neden doğrudan alıcının SMTP etki alanına mesaj gönderemiyor?

Bunu yapan bir e-posta programı oluşturabilirsiniz ve başkalarının da daha önce yaptıklarından (veya denemekten) şüphem yok.

Temelde bir MUA (mail user agent) ve MTA (mail transfer agent) olan bir araç yazıyor olacaksınız.

Bunun geleneksel olarak farklı araçlara ayrılmasının nedeni, "sunucu tarafında" bulunan MTA ile, açık internet yoluyla posta gönderen bir MTA'nın yazmak ve yapılandırmak için oldukça karmaşık olması ve ayrıca bir güvenilir "her zaman açık" sunucu.

Bir MTA:

  • Güvenmediği ya da yaramazlık yapabilecek sunuculara bakın ve bağlanın ve hata koşullarını posta kaybetmeyen mantıklı bir şekilde ele alın.

  • Kapalı olan sunucularla ilgilenin ve alternatif sunucuları yönlendirin veya daha sonra yeniden denemek için postayı sıralayın. Bu, internete "her zaman bağlı" olan bir sunucu işleminde en iyi sonucu verir. Ayrıca, posta aktarım aracısının, sıraya alınmış postalar için kendi depolama alanlarına ihtiyacı olduğu anlamına gelir.

  • Davranışı, alıcının sunucusunun yeteneklerine göre ayarlayarak, farklı sunucu yetenekleriyle uğraşın.

  • Kullanıcıya hata durumları hakkında veya posta teslim edilemediğinde geri bildirimde bulunun, böylece posta sadece kaybolmaz.

  • Mükemmel güvenlik uygulamalarına sahip olun ve güvenlik konusunda bilinçli olun.

  • İdeal olarak, sabit bir IP adresine ve ters DNS girişine sahip, güvenilir, her zaman bağlı bir sunucuda, yani halka açık sunucular için uygun bir internet bağlantısında bulunur. Bu, diğer sistemlere spam olarak gönderilen postaları algılamada yardımcı olur.

Bu gereklilikler göz önüne alındığında, SMTP sunucusunu bir yerde halka açık, daima açık bir sunucuya yerleştirmek ve belirli bir işi yapmak için uygun bir araç kullanmayı denemek mantıklıdır.


1

Göz önünde bulundurulması gereken başka bir şey de iade edilmiş e-posta almaktır . En azından, tüm giden e-postaların yanıt gönderilebileceği bir FROM adresi var (bilinmeyen kullanıcı, tatil yanıtı, vb.). İade adresinin çözümlenmesi için, iade gelen kutusu konumuna işaret eden bir MX kaydının bulunması gerekir. Her zaman açık olan statik bir IP adresine sahip bir bilgisayardan e-posta göndermiyorsanız, bu gelen iletileri işlemek için bir sunucuya ihtiyacınız olacaktır. Bu, genellikle (ancak her zaman değil) aynı servis tarafından gerçekleştirilir.

GMail, Outlook 365 ve Yahoo Mail, e-posta gönderen kişiler tarafından kullanılan e-posta hizmetlerinin örnekleridir. Ticari e-posta gönderimi için, MailChimp, Marketo ve Eloqua gibi bir şirket için toplu e-posta göndermede ve sıçramalar, azaltma ve teslim edilebilirlik gibi işlemlerde çok iyi hizmet veren hizmetler var.

Bakınız: https://en.m.wikipedia.org/wiki/Bounce_address


Cevabımı almak için neden statik bir IP'ye ihtiyacım olduğunu anlamıyorum ... Cevap bilgisayarıma değil MX sunucuma (ör. Gmail) gönderilmelidir. Haklı mıyım
Tobia,

Evet haklısın. Sanırım demek istediğim, giden e-postanın gönderilebilmesi için genellikle bir sunucuda bir gelen kutusunun bulunmasıdır. Mantıken, bu sunucunun giden e-postayı da ele alması mantıklı. Aksi takdirde "gönderilen" bir e-posta klasörü olması gibi şeyleri kaybedersiniz.
Dana

Mmh makul. Ama ... onun SMTP sunucusu unsing "replyto" adresinin "dan" bilinmeyen veya Gmail ile bir mesaj göndermek için özgürüm
Tobia

1
GMail kullanıyorsanız, smtp kimlik doğrulaması kullanmanız gerekir. Böylece, FROM adresi @ gmail.com adresinize ayarlanmıştır. Aksi takdirde, hizmetlerini sahtecilik için kullanabilirsiniz.
Dana

2
Bugünlerde pek çok kullanıcı sıçramayı daha az önemsemedi, ANCAK, sıçramayı kabul etmeyecek bir kurulum genellikle olası bir spam kaynağı olarak kabul ediliyor.
rackandboneman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.