Mengapa OS X dapat mengirim email tanpa terlebih dahulu mengkonfigurasi SMTP?


9

Ketika saya mencoba perintah di terminal, email dikirim. Saya telah memeriksa tidak ada SMTP lokal yang sedang berjalan, jadi apa mekanisme yang digunakan oleh Apple di belakang layar?

echo "Hello" | mail -s "Test" foo@bar.com

Jawaban:


4

mail pada OS X sebenarnya tampaknya menelurkan Postfix cukup lama untuk menangani surat, kemudian merobohkannya dalam waktu singkat kemudian.

Untuk melihat ini dalam tindakan, coba telnet localhost 25sebelum perintah surat, lalu segera setelahnya, lalu tunggu 5 menit dan coba lagi.

Saya tidak yakin ini sebenarnya jawaban yang tepat untuk pertanyaan itu karena tidak menjelaskan bagaimana Postfix dilahirkan dan dihancurkan, tetapi mudah-mudahan ini membantu menjawab pertanyaan.


7

Daemon atau server SMTP ada untuk menerima surat, bukan mengirimnya. Dalam contoh Anda, mailadalah murni klien email, dan terhubung ke server apa pun yang ditentukan oleh catatan MX DNS yang sesuai bar.com, dan tidak memiliki persyaratan untuk server lokal untuk dapat menjalankannya.

Namun, tergantung pada pengaturan surat Anda, Anda mungkin perlu masuk ke server surat keluar untuk mengotentikasi, atau jika tidak ada yang lain hanya untuk memberikan pengirim dan kembali ke alamat dll. Sekarang, Anda dapat melakukan semua ini di baris perintah dengan melewati yang sesuai parameter pada terminal, tetapi selama Anda telah mengatur aplikasi Mail Anda, konfigurasi ini sudah disimpan, dan dengan hanya menjalankan sementara subsistem surat perintah terminal dapat mengambil info itu dan sekarang memiliki satu atau lebih server mail smtp mereka dapat pilih untuk mengirim pesan keluar. Kemudian akan menghentikan proses ketika selesai.

Anda dapat menguji semua ini di baris perintah dan mengirim surat tanpa harus menggunakan klien email. Saya tidak di Mac, jadi perintah ini mungkin perlu diedit oleh seseorang yang ada, tetapi Anda dapat melakukan ini:

nslookup
set type=mx
bar.com
exit

telnet MXServer 25 (where MXServer is one of the results returned above and 25 is the port number for SMTP servers)

Baca Ini untuk info lebih lanjut tentang mengirim email melalui telnet - ini adalah alat debugging yang bagus


Meskipun jawaban Anda menerima suara terbanyak, tetapi itu salah. Mac akan menelurkan Postfix untuk menerima email dan shutdown secara otomatis seperti yang disarankan @zigg di atas. Terima kasih atas usaha Anda.
Yoga

Bukannya itu tidak benar, semua detailnya benar, tetapi itu tidak selalu menjawab pertanyaan Anda dalam bentuk saat ini. Diedit untuk melakukannya.
Stuffe

@stuffe berkata, "Daemon SMTP atau server ada di sana untuk menerima surat, bukan mengirimnya". Saya harus memohon berbeda. Karena ini adalah komentar, saya hanya akan mengutip ini dari Wikipedia: "aplikasi email klien tingkat pengguna biasanya menggunakan SMTP hanya untuk mengirim pesan"
Seamus

1

Saya pikir mailselalu menggunakan sendmail lokal untuk mengirim email. Di OSX sendmail adalah postfix. Dan itu pasti digunakan.

Anda dapat memeriksa header surat Received: by [Your-Mac] (Postfix, from userid ....

Namun demikian, bukan ide yang baik untuk menggunakan mail(atau lebih baik postfix) seperti ini. Praktik terbaik adalah menggunakan Smart Host untuk Postfix lokal Anda untuk menghindari pembatasan firewall yang sering digunakan.

Anda dapat menemukan solusi di SMTP Smart Host Setup untuk Postfix di Snow Leopard yang berfungsi untuk saya (juga pada Lion, Mountain Lion).


Dari tajuk, saya menemukan ... Diterima: oleh 10.194.242.101 dengan SMTP id xxx; ... X-Diterima: oleh 10.68.92.196 dengan SMTP id yyy; ... tetapi IP internal saya adalah 192.168.xx
Yoga
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.