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
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 25
sebelum 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.
Daemon atau server SMTP ada untuk menerima surat, bukan mengirimnya. Dalam contoh Anda, mail
adalah 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
Saya pikir
mail
selalu 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 baikpostfix
) 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).
sumber