Apakah perintah surat memerlukan server surat?

16

Apakah seseorang perlu mengatur server mail sebelum dapat menggunakan mailperintah linux ?

puk
sumber
@slm tidak benar-benar sama dengan pertanyaan yang mengisyaratkan bahwa seseorang memerlukan server SMTP untuk menjalankan email, tapi saya bertanya apakah itu benar-benar diperlukan
puk
1
Ya itu kemungkinan duplikat, saya sudah menjawab Anda b / c bahwa Q menganggapnya agak terlalu spesifik. Masih terasa seperti dup tetapi saya tetap menjawab 8-)
slm

Jawaban:

14

Tidak, Anda tidak memerlukan server surat untuk mengirim surat. Saya paling akrab dengan Sendmail dan ada 3 klasifikasi fungsi yang memenuhi email sebagai layanan. MDA (Agen Pengiriman Surat) adalah 1, dan MTA (Agen Transfer Surat) adalah 2, dan 3 adalah MUA (Agen Pengguna Mail).

Terminologi menjadi membingungkan tetapi Anda tidak memerlukan MTA untuk berjalan sepanjang waktu. MTA akan dipanggil setiap kali MUA ( mail) ingin "mengirim" surat.

Ketika Anda menjalankan maildan menentukan alamat tujuan pengiriman email [email protected],. Klien email akan memanggil MTA ( /usr/bin/sendmail) yang kemudian akan menanyakan DNS untuk host / domain tersebut (example.com), dan mencari tahu nilai apa yang ditetapkan untuk catatan MX-nya. MX adalah singkatan dari Mail Exchanger.

Contoh

Anda dapat menggunakan digperintah untuk melihat ini:

$ 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

Jadi klien akan berusaha untuk terhubung ke eggs.gnu.org pada port 25 untuk mengirimkan email ini.

Server DNS?

@puk mengajukan pertanyaan lanjutan berikut:

Apakah DNS ini di mesin lokal saya?

Yang saya jawab:

@ puk - bisa dengan cara yang sama dengan yang bisa dilakukan oleh server surat, tetapi biasanya tidak. Lihat di /etc/resolv.conffile Anda dan juga ketika Anda menjalankan digperintah Anda akan melihat SERVER: ...garis di bagian bawah. Itu adalah server DNS yang melayani permintaan Anda.

Contoh

/etc/resolv.confFile saya berisi yang berikut ini:

nameserver 192.168.1.8

Dan pertanyaan seperti ini, menggunakan dig:

$ dig gnu.org mx

Hasil ini di bagian bawah:

;; 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

Dan untuk pembaca yang cerdik, satu pertanyaan saya, bagaimana ini dikonfigurasi? Jawabannya adalah /etc/nsswitch.conffile. Secara khusus baris ini:

hosts:      files mdns4_minimal [NOTFOUND=return] dns

Yang mengatakan, gunakan file terlebih dahulu ( /etc/hosts), diikuti oleh mdns4_minimal. Itu adalah DNS multicast. Ini pada dasarnya adalah cache dari look up sebelumnya. Terakhir ia menggunakan dnsyang merupakan alamat IP yang nameserverditunjuk dalam /etc/resolv.conffile.

slm
sumber
Apakah DNS ini di mesin lokal saya?
puk
@ puk - lihat pembaruan.
slm
@puk - Saya telah menambahkan lebih banyak ....
slm
7

Ini benar-benar tergantung pada versi yang mailAnda gunakan.

Semua versi memerlukan MTA untuk benar-benar mengirimkan surat, tetapi beberapa versi mampu menggunakan SMTP untuk berbicara dengan MTA jarak jauh ("smarthost", mis. Server surat ISP Anda) dan beberapa versi hanya dapat menyalurkan pesan ke /usr/sbin/sendmailuntuk mengirim surat melalui MTA lokal.

Dalam kasus terakhir, MTA lokal bisa menjadi MTA lengkap seperti sendmail atau exim atau postfix . Atau bisa juga MTA send-only sederhana seperti nullmailer atau ssmtp . Atau mini-MTA yang sedikit lebih canggih seperti msmtp yang juga mendukung antrian surat untuk pengiriman nanti.

Di dunia Perangkat Lunak Bebas & Sumber Terbuka, ada dua varian utama dari mailxpaket (yang menyediakan mailperintah): bsd-mailxdan heirloom-mailx.

bsd-mailx tidak bisa berbicara SMTP dan hanya bisa mengirim email dengan cara mem-pipnya/usr/sbin/sendmail

hierloom-mailx dapat berbicara SMTP ke smarthost serta metode tradisional 'pipe-to-sendmail'.

Jadi, untuk menjawab pertanyaan Anda, "Apakah Anda memerlukan server email?". Ya, semacam. Anda memerlukannya tetapi, tergantung pada versi surat yang telah Anda instal, Anda mungkin tidak perlu menginstal dan mengkonfigurasinya di sistem Anda sendiri.

IMO, Anda lebih baik dengan MTA minimal msmtpdaripada hanya mengandalkan smarthost dengan heirloom-mailxkarena Anda masih perlu mengantri email untuk pengiriman nanti ketika koneksi internet Anda turun atau smarthost Anda tidak dapat dijangkau. Dengan antrian lokal, maildan cronddan program lain bisa mengirim dan melupakan surat apa pun. Tanpa antrian lokal, mereka harus berurusan dengan kondisi kesalahan jika smarthost tidak tersedia.

cas
sumber