Linux mailkomutunu kullanabilmek için bir posta sunucusu kurmanız gerekir mi?
Linux mailkomutunu kullanabilmek için bir posta sunucusu kurmanız gerekir mi?
Yanıtlar:
Hayır, posta göndermek için bir posta sunucusuna ihtiyacınız yoktur. Sendmail'e en aşinayım ve e-postayı hizmet olarak yerine getiren 3 işlevsellik sınıfı vardır. MDA (Posta Teslim Aracıları) 1 ve MTA (Posta Aktarım Aracıları) 2'dir ve 3, MUA'dır (Posta Kullanıcı Aracıları).
Terminoloji kafa karıştırıcı ama MTA'nın sürekli çalışması gerekmiyor. MTA, MUA ( mail) her "posta" göndermek istediğinde çağrılır .
Çalıştırdığınızda mailve posta göndermek için bir adres belirlediğinizde sam@example.com,. Posta istemcisi MTA ( /usr/bin/sendmail) ' yı çağıracak ve daha sonra o ana bilgisayar / etki alanı (example.com) için DNS'yi sorgulayacak ve MX kaydı için hangi değerin belirtildiğini öğrenecektir. MX, Posta Değiştirici'nin kısaltmasıdır.
Bunu diggörmek için komutu kullanabilirsiniz :
$ dig gnu.org mx
; <<>> DiG 9.7.4-P1-RedHat-9.7.4-2.P1.fc14 <<>> gnu.org mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21053
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:
;gnu.org. IN MX
;; ANSWER SECTION:
gnu.org. 299 IN MX 10 eggs.gnu.org.
;; ADDITIONAL SECTION:
eggs.gnu.org. 299 IN A 208.118.235.92
eggs.gnu.org. 299 IN AAAA 2001:4830:134:3::10
;; Query time: 218 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct 3 17:27:22 2013
;; MSG SIZE rcvd: 90
Bu nedenle, müşteri bu e-postayı göndermek için 25 numaralı bağlantı noktasındaki eggs.gnu.org adresine bağlanmaya çalışacaktır.
@puk aşağıdaki takip sorusunu sordu:
Bu DNS yerel makinemde mi?
Yanıt verdiğim:
@puk - posta sunucusuyla aynı şekilde olabilir, ancak genellikle değildir. Senin bak /etc/resolv.confdosyası ve çalıştırdığınızda da digkomutu fark edeceğiniz SERVER: ...altındaki çizgiyi. Bu, isteğinize hizmet veren DNS sunucusudur.
Dosyam /etc/resolv.confaşağıdakileri içeriyor:
nameserver 192.168.1.8
Ve bunun gibi sorgular kullanarak dig:
$ dig gnu.org mx
Sonuçta alttaki:
;; Query time: 259 msec
;; SERVER: 192.168.1.8#53(192.168.1.8)
;; WHEN: Thu Oct 3 17:46:13 2013
;; MSG SIZE rcvd: 90
Ve zeki okuyucu için, bir sorum, bu nasıl yapılandırılır? Cevap /etc/nsswitch.confdosyadır. Özellikle bu satır:
hosts: files mdns4_minimal [NOTFOUND=return] dns
Yani, önce dosyaları kullanın ( /etc/hosts), ardından mdns4_minimal. Bu çok noktaya yayın DNS'si. Temelde önceki aramaların önbelleğidir. Son olarak , dosyada belirtilen dnsIP adresini kullanır .nameserver/etc/resolv.conf
Gerçekten hangi sürümü mailkullandığınıza bağlıdır .
Tüm sürümler postayı teslim etmek için bir MTA'ya ihtiyaç duyar, ancak bazı sürümler uzak bir MTA ("akıllı ana bilgisayar", örneğin ISS'nizin posta sunucusu) ile konuşmak için SMTP'yi kullanabilir ve bazıları yalnızca /usr/sbin/sendmailpostaları göndermek için iletiyi kesebilir yerel bir MTA.
İkinci durumda, yerel MTA gibi tam teşekküllü bir MTA olabilir sendmail veya exim veya postfix . Veya nullmailer veya ssmtp gibi basit bir salt gönderme MTA olabilir . Veya msmtp gibi biraz daha sofistike bir mini MTA , daha sonra teslim etmek için kuyruk postasını da destekler.
Özgür Yazılım ve Açık Kaynak dünyasında, mailxpaketin iki ana varyantı vardır ( mailkomutu sağlar): bsd-mailxve heirloom-mailx.
bsd-mailx SMTP konuşmaz ve yalnızca posta göndererek/usr/sbin/sendmail
hierloom-mailx SMTP'yi bir akıllı ana bilgisayara ve geleneksel ' send-to-mail'e' yöntemiyle konuşabilir.
Bu nedenle, "Bir posta sunucusuna ihtiyacınız var mı?" Evet, bir çeşit. Bir tanesine ihtiyacınız var, ancak hangi posta sürümünü yüklediğinize bağlı olarak, bunu kendi sisteminize kurmanız ve yapılandırmanız gerekmeyebilir.
IMO, msmtpsadece bir akıllı ana bilgisayara güvenmek gibi minimal bir MTA ile daha iyi durumdasınız, heirloom-mailxçünkü internet bağlantınız kesildiğinde veya akıllı ana makinenize erişilemediğinde postaları daha sonra teslim etmek için sıraya almanız gerekiyor. Yerel bir kuyruğa sahip mailve crondve diğer programlar sadece herhangi postayı unutmak göndermek bırakabilirsiniz. Yerel bir kuyruk olmadan, akıllı ana makine kullanılamıyorsa hata koşuluyla bir şekilde uğraşmaları gerekir.