Linux mail
komutunu kullanabilmek için bir posta sunucusu kurmanız gerekir mi?
Linux mail
komutunu 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 mail
ve 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 dig
gö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.conf
dosyası ve çalıştırdığınızda da dig
komutu fark edeceğiniz SERVER: ...
altındaki çizgiyi. Bu, isteğinize hizmet veren DNS sunucusudur.
Dosyam /etc/resolv.conf
aş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.conf
dosyadı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 dns
IP adresini kullanır .nameserver
/etc/resolv.conf
Gerçekten hangi sürümü mail
kullandığı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/sendmail
postaları 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, mailx
paketin iki ana varyantı vardır ( mail
komutu sağlar): bsd-mailx
ve 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, msmtp
sadece 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 mail
ve crond
ve 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.