Saya memiliki pengaturan server rumah kecil di belakang modem kabel saya (komunikasi bresnan). Saya ingin kotak ini dapat mengirim email (tidak menerima) untuk notifikasi dan yang lainnya.
Apa yang sudah saya lakukan:
- Saya telah menginstal dan mengkonfigurasi sendmail.
- Saya telah menambahkan
mail.bresnan.net
sebagaiSMART_HOST
arahan saya .
Yang saya yakini masalahnya adalah
Ketika saya mencoba mengirim email, saya mendapatkan yang berikut di log surat saya:
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530: from=aburns,
size=140, class=0, nrcpts=1,
msgid=<201012221724.oBMHOHrs001530@bresnan.net>,
relay=aburns@localhost
Dec 22 10:24:17 batcave sm-mta[1531]: oBMHOHWZ001531: from=<aburns@bresnan.net>,
size=397, class=0, nrcpts=1,
msgid=<201012221724.oBMHOHrs001530@bresnan.net>,
proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 22 10:24:17 batcave sendmail[1530]: oBMHOHrs001530:
to=<my@work-address.com>, ctladdr=aburns (1000/1000),
delay=00:00:00, xdelay=00:00:00, mailer=relay,
pri=30140, relay=[127.0.0.1] [127.0.0.1],
dsn=2.0.0, stat=Sent (oBMHOHWZ001531 Message accepted for delivery)
Dec 22 10:24:18 batcave sm-mta[1517]: oBMH9mVv001357:
to=<my@work-address.com>, ctladdr=<aburns@bresnan.net>
(1000/1000), delay=00:14:30, xdelay=00:00:42, mailer=relay,
pri=300339, relay=pmx0.bresnan.net. [69.145.248.1],
dsn=4.0.0, stat=Deferred: Connection timed out with pmx0.bresnan.net.
Anda dapat melihat di mana pesan diterima untuk dikirim oleh server sendmail saya, lalu di mana ia mencoba untuk dikirim ke server bresnan dan waktu habis.
Di sinilah pertanyaan saya. Pembaca Asstute akan menyadari bahwa pmx0.bresnan.net
itu bukanlah SMART_HOST
arahan saya . Ini adalah MX
server (luar?) Untuk domain bresnan.com/net. Rupanya bresnan memiliki jaringan yang dikonfigurasi sehingga Anda tidak dapat mengakses server ini dari dalam jaringan mereka sendiri dan sebagai gantinya harus menggunakan mail.bresnan.net
server (yang dapat saya sambungkan ke). Masalahnya adalah saya tidak tahu bagaimana cara memberitahu sendmail untuk menggunakan server ini dan bukan domainnya .
Apa yang saya coba
- Mengatur entri host sehingga server pmx0 menunjuk ke alamat IP surat. Ini tidak berfungsi, yang masuk akal sebagai sendmail jelas melakukan permintaan MX untuk menemukan server yang mengembalikan IP sehingga tidak pernah perlu melakukan tekad DNS 'normal' sehingga file host tidak pernah terlibat.
Cara Mengatasinya (untuk semua surat keluar):
Sekali lagi, alat peraga masuk ke webmin (lihat catatan di bawah) untuk membantu saya mempelajari hal ini. Jika Anda memasukkan smarthost Anda dengan tanda kurung siku yang menginstruksikan sendmail untuk tidak melakukan pencarian MX, jadi: define('SMART_HOST','[69.145.248.18]')
(Perbaiki tanda kutip-> backticks) benar-benar berfungsi tanpa tabel mailer.
Cara Mengatasinya (untuk domain tertentu):
Seperti yang ditunjukkan di bawah ini, pengaturan a mailertable
diperlukan. Namun, seperti yang ditunjukkan di halaman manual , fitur ini juga perlu diaktifkan di sendmail.mc
file Anda .
Juga perhatikan bahwa rute mailer tidak memaksa sendmail untuk menggunakan server yang ditentukan untuk semua operasi, itu didasarkan pada alamat penerima. Ini sebenarnya OK untuk saya karena saya hanya perlu mengirim ke beberapa domain (gmail, google host, dan pekerjaan saya).
Ringkasan :
- Tambahkan
FEATURE('mailertable')
kesendmail.mc
file Anda . (perhatikan bahwa kutipan pertama harus berupa backtick. - Buat
/etc/mail/mailertable
file Anda (Lihat halaman manual ) - Buat mapfile:
sudo makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
- Bangun kembali konfigurasi Anda
make -C /etc/mail
- Mulai ulang sendmail:
service sendmail restart
CATATAN: Saya sangat merekomendasikan menggunakan WebMin untuk mengedit / membangun kembali file-file ini. Tanpa itu saya akan menjadi gila mencoba mencari tahu mengapa file mailertable saya diabaikan.