SMTP Sunucusu Kurulumu, Kullanımı ve En İyi Uygulamalar
Yayınlanan: 2022-04-08E-postaların gerçekte nasıl çalıştığını hiç merak ettiniz, Bir e-posta gönderdiğinizde ve birkaç saniye içinde alıcınızın Gelen Kutusunda olduklarında, bunun nasıl gerçekleştiğinin arkasındaki teknoloji Basit Posta Aktarım Protokolü'dür (SMTP). IMAP/POP3 Sunucusu kullanılarak alınan e-postaların sunucuda nasıl depolandığı, farklı bir zamana ait bir hikaye, şimdilik SMTP'yi ele alacağız ve makalenin sonunda, STMP Protokolü, SMTP Sunucuları hakkında tam bir anlayışa sahip olduğunuzu umuyoruz. , Ortak seçenekler ve e-postalarınızın SPAM'a nasıl ulaştığından nasıl emin olacağınız.
SMTP nedir?
Basit Posta Aktarım Protokolü ( SMTP ) E-posta Göndermek için kullanılan protokoldür, herhangi bir SMTP sunucusunun internetteki diğer herhangi bir SMTP Sunucusu veya POP3/IMAP sunucusuyla iletişim kurabilmesi ve birbirlerini anlamaları için ortak bir standart tanımlar. E-postaların aktarımına dahil olan farklı varlıkların ortak bir dil konuşmasını sağladığını söyleyebilirsiniz.
SMTP Sunucusu nedir?
SMTP protokolünün bir uygulama tarafından kullanılabilir hale getirilmesi gerekir, E-posta göndermek veya E-posta geçişi yapmak isteyenler için SMTP isteklerine yanıt veren bu uygulamaya SMTP Sunucusu/SMTP Aktarımı denir. Aşağıda verildiği gibi iki türe ayırabilirsiniz, ikisi de küçük bir fark dışında çoğunlukla aynıdır –
- SMTP Sunucusu : Bir SMTP geçişi ile aynı şeydir, ancak esas olarak alıcı etki alanı sunucu etki alanı ile aynı olduğunda kullanılır. Bunlar genellikle gmail.com , yahoo.com gibi ücretsiz e-posta hizmetlerinde kullanılır.
- SMTP Geçiş Sunucusu: Bu aynı zamanda bir Sunucudur, ancak bu terim, kaynak e-posta ve hedef e-posta etki alanları SMTP sunucu etki alanlarından farklı olduğunda kullanılır. Bunları sunan SendGrid veya SendInBlue bir örnek olabilir. Bu sunucular esas olarak posta için yönlendiricilerdir.
Sahte SMTP Sunucuları : – Bu Sunucular esas olarak geliştiriciler tarafından test için kullanılır, temelde kullanıcıların E-postanın alıcı tarafında nasıl görüneceğini gerçekte herhangi bir E-posta göndermeden görmelerine olanak tanıyan tümünü yakalama sunucularıdır. MailHog veya MailCatcher gibi yerel uygulamaları yükleyebilir veya Mailtrap veya Yerel aracımız gibi sağlanan bir bulutu kullanabilirsiniz.
SMTP Nasıl Çalışır?
Aşağıda, E-posta Gönderme işleminin SMTP ile nasıl çalıştığına dair ortak bir kılavuz bulunmaktadır.
- Örneğin [email protected]'dan [email protected]'a bir e-posta göndermek isteyen bir kullanıcı, E-posta istemcisini kullanarak Konu ve Gövde ile bir E-posta taslağı hazırlar ve Gönder'e basın.
- Kullanıcı gönder düğmesine bastığında, E-posta istemcisi yapılandırılmış SMTP sunucusuna bağlanacak, şimdilik bunun smtp.source.com olduğunu varsayalım. İstemci ve SMTP sunucusu bir el sıkışma yapar ve yetkilendirme gerekiyorsa, istemci bunun için kimlik bilgilerini sağlar.
- El sıkışmadan sonra E-posta İstemcisi, bizim durumumuzda [e-posta korumalı], konu ve gövde olan Alıcıların adresini gönderir.
- Kullanıcımız aynı etki alanındaki birine göndermiş olsaydı, sunucumuz bunu dahili olarak yerel alıcı sunucuya iletir.
- Ardından, MX kayıtları için bir DNS isteği kullanan SMTP sunucusu, alıcının IP'sini veya SMTP sunucusunun çalıştığı alan adresini bulur.
- Daha sonra alıcının SMTP adresine bağlanır ve e-postayı teslim etmeye çalışır.
- Alıcıların E-posta Sunucusu, kendisine iletilen E-postayı işleyip işleyemediğini doğrular. Ve her şey yolundaysa, bunu gelen IMAP veya POP3 Sunucusuna iletir.
Ortak SMTP Bağlantı Noktası ve Adresi
Çoğu durumda SMTP adresi, bağlanmaya çalıştığınız etki alanının önünde bir posta veya smtp öneki olacaktır. Ayrıca bunlar, bir istemciyi E-posta mesajlarının nasıl yönlendirileceğini ele aldığı varsayılan posta sunucusuna yönlendiren DNS'deki Posta Değişimi (MX) kayıtları tarafından belirlenir.
SMTP sunucusunun adresini bulmak için dig komutunu kullanabilirsiniz.
1 2 3 |
root @ mailtest : ~ # dig +short freesmtpservers.com MX 20 smtp . freesmtpservers . com . 10 smtp . freesmtpservers . com . |
Ardından, gerekirse IP adresini bulmak için dig komutunu kullanabilirsiniz.
1 2 |
root @ mailtest : ~ # dig +short smtp.freesmtpservers.com 104.237.130.88 |
Bağlanılacak bağlantı noktası ile işler o kadar basit değil, Sunucular ve röleler genellikle bağlanabileceğiniz bir dizi farklı bağlantı noktasına sahiptir, her biri belirli gereksinimleri karşılamak için fazla mesai haline gelmiştir.
SMTP Bağlantı Noktası
Port numarası | Tanım | Bilgi |
---|---|---|
25 | Standart SMTP Bağlantı Noktası | Esas olarak E-posta Aktarımı için kullanılmalıdır. |
465 | Kullanımdan Kaldırılan SMTP Bağlantı Noktası | Güvenli SMTP içindi, Şifreleme için SSL kullanıldı. Kullanımdan kaçının. |
587 | Modern Güvenli SMTP Bağlantı Noktası | Çoğu modern E-posta İstemcisi bunu kullanır, TLS Şifrelemesi kullanır. |
2525 | Alternatif Standart Olmayan SMTP Bağlantı Noktası | Bu bloke olması durumunda 587'ye alternatif olarak kullanılır. |
Çoğu durumda ihtiyaçlarınız için Port 587'yi kullanacaksınız.
Ortak SMTP Sunucu Adları
SMTP sunucuları için ortak adresler smtp ile başlar. veya posta. alan adıyla, Bazılarının bir IP adresi de olabilir. Aşağıda ayrıntılarıyla birlikte birkaç yaygın olanı listeledik -
hizmet adı | SMTP sunucusu | Liman |
---|---|---|
Google posta | smtp.gmail.com | 587 |
Outlook.com | smtp.live.com | 587 |
Office365.com | smtp.office365.com | 587 |
Yahoo e | smtp.mail.yahoo.com | 465 |
Yahoo Mail Artı | artı.smtp.mail.yahoo.com | 465 |
Yahoo İngiltere | smtp.mail.yahoo.co.uk | 465 |
Yahoo Almanya | smtp.mail.yahoo.com | 465 |
Yahoo AU/NZ | smtp.mail.yahoo.com.au | 465 |
O2 | smtp.o2.ie | 25 |
O2.uk | smtp.o2.co.uk | 25 |
AOL.com | smtp.aol.com | 587 |
AT&T | smtp.att.yahoo.com | 465 |
NTL @ntlworld.com | smtp.ntlworld.com | 465 |
BT Bağlantısı | pop3.btconnect.com | 25 |
BT Açık Dünya | mail.btopenworld.com | 25 |
BT İnternet | mail.btinternet.com | 25 |
Turuncu | smtp.orange.net | 25 |
Orange.uk | smtp.orange.co.uk | 25 |
Wanadoo İngiltere | smtp.wanadoo.co.uk | 25 |
Hotmail | smtp.live.com | 465 |
O2 Çevrimiçi Almanya | mail.o2online.de | 25 |
T-Online Almanya | securitysmtp.t-online.de | 587 |
1&1 (1 ve1) | smtp.1and1.com | 587 |
1&1 Almanya | smtp.1und1.de | 587 |
comcast | smtp.comcast.net | 587 |
verizon | giden.verizon.net | 465 |
Verizon (Yahoo tarafından barındırılıyor) | giden.yahoo.verizon.net | 587 |
Zoho Postası | smtp.zoho.com | 465 |
posta.com | smtp.mail.com | 587 |
GMX.com | smtp.gmx.com | 465 |
USA.NET tarafından [e-posta korumalı] | smtp.postoffice.net | 465 |
Toplu SMTP Sunucusu sağlayıcı ayarları
Birkaç E-postadan fazlasını, örneğin 10000 K e-postayı göndermek isterseniz ne olur, o zaman Toplu SMTP geçişi gibi bir şeye ihtiyacınız olacak, ayrıca size API ve Teslimat takibi, Açık oranlar vb. gibi diğer özellikleri de sağlayacaktır. Bir protokol olarak SMTP olarak oldukça hızlı e-postalar biraz yavaştır.
Sayı çok büyük değilse, bir seçim yapmak için Ücretsiz SMTP Sunucuları sağlayıcıları listemizi kullanabilirsiniz.
Büyük kullanıcı tabanınıza veya belki E-posta pazarlaması için bir e-posta göndermek istiyorsanız, aşağıda listelenen çeşitli sağlayıcılarla fiyatlandırma yaptık.
SATICI | Serbest ay | Günlük sınır | Ücretli planlar | Yorumlar |
---|---|---|---|---|
SendInBlue | 9000 | 300 | 10k için 25$ - 1 Milyon için 499$ | En İyi Ücretsiz |
TurboSMTP | 6000 | 200 | 50k için 14.95 ila 2 Milyon için 979.95. | 12 ay boyunca 6000 / ay |
Alibaba Doğrudan Posta | 6000 | 200 | 1000 E-posta başına .00029 | |
PepiPost | 3000 | 100 | 150 bin için 25 ABD Doları ila 2 Milyon için 445 | |
SendGrid | 3000 | 100 | 50 bin e-posta için 14,95 dolar, 150 bin için 749 dolar | |
SparPost | 3000 | 100 | 50K için 20$ ila 1M için 525$ | |
elastik e-posta | 3000 | 100 | Amazon SES gibi maliyetlendirme | Düşük maliyetli ücretli seçenek |
Amazon SES'i | 62000 | 1000 E-posta için .0001 | AWS EC2 sunucusundan gönderilirse En Ucuz, Ücretsiz olanlardan biri | |
Gmail | 15000 | 500 | Gsuite premium seçenektir | Alan adı gmail.com olacaktır, hesabın askıya alınmasına neden olabilir. |
WordPress ile bir SMTP sunucusu kullanma
WordPress, internetteki sitelerin neredeyse %40'ına güç sağlar, varsayılan olarak, yapılandırılmamışsa gönderilen işlem e-postalarını göndermek için PHP Mail'i kullanır sendmail , Teslimat söz konusu olduğunda bu bir isabet veya kayıp olabilir, bu nedenle bir kullanmanızı öneririz. SMTP Ayarlarını kullanabilen veya bunun için SMTP API'sini kullanabilen WordPress eklentisi.
Varsayılan olarak, WordPress bir e-posta göndermek için PHP postasını kullanır, doğru şekilde yapılandırılırsa yeterlidir, ancak çoğu durumda, paylaşılan ana makinelerin çoğu, neler olup bittiğini kontrol etmek için doğrudan konsol erişimine izin vermediğinden, üçüncü taraf Hizmetini kullanmak daha kolaydır. Sunucuda (Ortak Paylaşımlı Barındırma Durumunda) davranmayan ve IP'nizin kara listeye alınmasına neden olabilecek başka kullanıcılar da olabileceğinden, Host IP'si SPAM nedeniyle kara listeye alınmış olabilir. Kara listeye alınmakla, sunucunuzun IP'sinin, Postalarınızın geçmesini daha da zorlaştıran, küresel bir bilinen spam göndericiler listesine alınmasını kastediyoruz, durumunuzu buradan kontrol edebilirsiniz.
WordPress için Wp Mail SMTP Eklentisini öneriyoruz, yapılandırması, kurulumu kolaydır ve Gmail dahil birçok farklı satıcıyı destekler, ayrıca gönderilen tüm e-postaları kaydetme seçeneği de vardır. Ücretsiz plan çoğu kullanıcı için yeterli olmalıdır.
WordPress'in içinden kolayca yükleyebilir veya hatta WordPress'in web sitesinden indirebilirsiniz. Premium bir planı vardır, ancak çoğu kullanıcı için ücretsiz olması yeterlidir.
Linux'ta kendi kendine barındırılan SMTP Sunucusu kurun
Hızlı MTA Karşılaştırması, linux ile çalışacağımız için Postfix'i seçeceğiz –
Eğer sen... | qmail | Exim | Posta göndermek | son düzeltme | notlar |
---|---|---|---|---|---|
Deneyimsiz | 0 | 3 | 1 | 3 | Exim ve Postfix'in iyi belgeleri ve net örnekleri var |
Güvenlik konusunda endişeli | 3 | 2 | 0 | 3 | Postfix güvenli ve moderndir; qmail güvenlidir ancak çok eski ve huysuzdur; Exim farklı kriterlere göre güvenlidir (yukarıyı okuyun.) |
Sendmail yönlendiricilerine güvenmek | 0 | 1 | 3 | 2 | Postfix, milleri çalıştırabilir; eşdeğer Exim yönlendiricileri/filtre komut dosyası kullanabilir |
Minimum güçlük isteyen | 0 | 3 | 0 | 3 | Sendmail'in bazı kolay ön uçları vardır, ancak ne kadar derine inerseniz o kadar kötüleşir. Postfix ve Exim daha öngörülebilir. |
Kaynak kısıtlı | 3 | 2 | 1 | 2 | Diğer yorumlar için aşağıdaki Gömülü Uygulamaya bakın |
Windows'ta | 0 | 2 | 3 | 0 | Sendmail'in yerel bir Windows bağlantı noktası vardır; Exim, Cygwin dağıtımında |
Ticari desteğe ihtiyaç duymak | 1 | 3 | 3 | 3 | Tüm MTA'lar için yetkin şirketler var; qmail çok eski olduğu için doğası gereği daha az desteklenebilir |
Postfix, e-posta göndermek veya almak için bir SMTP sunucusu veya istemcisi olarak hareket edebilen bir Posta Aktarım Aracısıdır (MTA). Kurulumu ve yapılandırması kolaydır ve ihtiyaçlarımızın çoğu için kendimiz kullanırız, ayrıca e-postaları üçüncü taraf e-posta hizmetleri aracılığıyla iletmek için bir aracı görevi görecek şekilde de ayarlanabilir. Yalnızca temel kurulumu ele alacağız ve ilk e-postanızı göndereceğiz.
En basit kurulum, postfix'i kurmaktan ibarettir ve gitmeniz iyi olur.
Böyle basit bir kurulum teknik olarak işe yarayacaktır, ancak E-postalarınız SPAM'a düşebilir, bunu karşılamak ve daha iyi e-posta teslim edilebilirliği sağlamak için, E-postalarınızın gittiğinden emin olmak için gereken DKIM veya SPF gibi diğer gereksinimleri eklediğimiz başka bir kılavuzumuz var. vasıtasıyla. Ancak yine de, çok iyi bir neden olmadıkça, kendi E-posta Sunucunuzu çalıştırmanızı önermiyoruz.
Bu işlem, yeni bir Ubuntu 20.04 yüklediğinizi ve mevcut SMTP Sağlayıcılarından birini kullanmanızı önermesek de Linux komut satırı ile çalışabileceğinizi varsayar. Ubuntu 20.04 sunucusunda postfix kuracağız ve çalışıp çalışmadığını test etmek için kendi sahte hizmetimize bunu kullanarak bir E-posta göndereceğiz.
Başlamak için apt paket yöneticisi için güncelleme önbelleği komutunu yayınlayacağız.
sudo apt update
Ardından, aşağıdaki komutu kullanarak postfix'i yükleyeceğiz -

sudo apt install postfix
Kurulum bir dizi bilgi istemi açacak, lütfen aşağıdaki seçimleri yapın –
- Genel posta yapılandırması türü? : Bunun için altyapı ihtiyaçlarımıza uygun bir İnternet Sitesi seçeceğiz.
- Sistem posta adı: Bu, kullanıcı tarafından herhangi bir gönderen etki alanı belirtilmemişse bir e-posta göndermek için kullanılacak temel etki alanıdır. Bu nedenle, say user1'den bir e-posta gönderirseniz ve alan adı belirtilmemişse, bu e-postaya sonradan eklenecektir. Bu nedenle, example.com verilirse, [email protected] adresinden e-posta gönderecektir.
Bu, temel yapılandırmaya dikkat etmelidir. Eksiksiz bir kurulum için lütfen posta sunucusu kurulum kılavuzumuzu takip edin. Şimdi 25 numaralı bağlantı noktası kullanılabilir olmalıdır, komutlardan herhangi birini kullanarak açık olup olmadığını kontrol edebilirsiniz -
1 2 3 4 5 |
sudo lsof - i - P - n | grep LISTEN sudo netstat - tulpn | grep LISTEN sudo ss - tulpn | grep LISTEN sudo lsof - i : 22 ## see a specific port such as 22 ## sudo nmap - sTU - O IP - address - Here |
Ne arıyoruz böyle bir şey
master 2575 root 13u IPv4 30244 0t0 TCP *:25 (LISTEN)
master 2575 root 14u IPv6 30245 0t0 TCP *:25 (LISTEN)
Kurulumu yeniden yapılandırmanız gerekirse, sadece şu komutu çalıştırın -
1 |
sudo dpkg - reconfigure postfix |
Hepimiz hazırız, SMTP sunucumuzun çalışır durumda olması gerekiyor. Ardından, internetteki bazı kullanıcılara bir E-posta gönderebilir veya belki de bir şeyleri test etmek için tüm e-postaları yakalayabiliriz.
SMTP Sunucusu Kullanma
Genellikle, bir E-posta istemcisi, çoğumuzun bir SMTP sunucusuyla arayüz oluşturmasının en yaygın yoludur, ancak bununla doğrudan telnet kullanarak da etkileşim kurabilirsiniz. Bu yöntemle başlayacağız çünkü sadece düz havalı.
Linux'ta telnet kullanarak posta gönderin
Aşağıdaki komutu girerek yerel SMTP Sunucunuza bağlanın –
1 |
telnet localhost 25 |
Bunun gibi bir şey göreceksiniz -
1 2 3 4 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . |
Bağlanamıyorsanız, postfix'in çalıştığından emin olun ve 25 numaralı bağlantı noktasının açık olduğunu kontrol edin.
Şimdi [e-posta korumalı] (tüm e-postaları yakala) demek için bir e-posta gönderelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
root @ mailtest : ~ # telnet localhost 25 Trying : : 1... Connected to localhost . Escape character is '^]' . 220 mailtest ESMTP Postfix ( Ubuntu ) ehlo localhost 250 - li292 - 146.members.linode.com 250 - PIPELINING 250 - SIZE 10240000 250 - VRFY 250 - ETRN 250 - STARTTLS 250 - ENHANCEDSTATUSCODES 250 - 8BITMIME 250 - DSN 250 - SMTPUTF8 250 CHUNKING mail from : bob @ example . com 250 2.1.0 Ok rcpt to : smtptest @ freesmtpservers . com 250 2.1.5 Ok data 354 End data with . Subject : Testing Email service This is a test email . . 250 2.0.0 Ok : queued as A6ADC402D4 quit 221 2.0.0 Bye Connection closed by foreign host . |
E -postanın [e-posta korumalı] gelen kutusuna gelip gelmediğini kontrol edin veya farklı bir alıcı kullandıysanız, gelen kutusunda kontrol edebilirsiniz.
Linux komut satırından E-posta gönder
Linux'ta hızlı bir şekilde E-posta göndermek için sendmail komutunu kullanabiliriz.
1 |
echo "Subject: hello" | sendmail - v smtptest @ freesmtpservers . com |
Umarım makalemi beğenirsiniz, bazı noktaları atladığımı veya bir yerde yanıldığımı düşünüyorsanız, lütfen bana bildirin, burada güncelleyeceğim.