За моїм кабельним модемом у мене крихітна настройка домашнього сервера (зв'язок Bresnan). Я хочу, щоб ця рамка могла надсилати електронну пошту (не отримувати) для сповіщень і чогось іншого.
Що я вже зробив:
- Я встановив і налаштував sendmail.
- Я додав
mail.bresnan.net
своюSMART_HOST
директиву.
У чому я вірю, що це проблема
Коли я намагаюся надіслати електронний лист, у своєму електронному журналі я отримую наступне:
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.
Ви можете бачити, де повідомлення приймається для доставки моїм сервером sendmail, а потім, де воно намагається передати на сервер Bresnan, і це тайм-аут.
Тут моє запитання. Читачі Asstute помітять, pmx0.bresnan.net
що я не SMART_HOST
встановив свою директиву. Це (зовні?) MX
Сервер для домену bresnan.com/net. Очевидно, у Bresnan їх мережа налаштована так, що ви не можете отримати доступ до цього сервера зсередини власної мережі, а натомість потрібно використовувати mail.bresnan.net
сервер (до якого я можу підключитися). Проблема полягає в тому, що я не знаю, як сказати sendmail використовувати цей сервер, а не домен .
Що я спробував
- Встановіть хост-запис так, щоб сервер pmx0 вказував на IP-адресу пошти. Це не працює, що має сенс, оскільки sendmail, очевидно, робить MX-запит, щоб знайти сервер, який повертає IP, тому ніколи не потрібно робити "нормальне" рішення DNS, щоб файл хостів ніколи не залучався.
Виправлення (для всієї вихідної пошти):
Знову ж таки, реквізит переходить до webmin (див. Примітку нижче), щоб допомогти мені це навчитися. Якщо ви вводите свій розумний хост із квадратними дужками, які вказують sendmail не здійснювати пошук MX, тож: define('SMART_HOST','[69.145.248.18]')
(Виправити котирування-> backticks) насправді працює без таблиці пошти.
Виправлення (для конкретних доменів):
Як зазначено нижче, налаштування A mailertable
не потрібно. Однак, як зазначалося на довільній сторінці , ця функція також повинна бути включена у вашому sendmail.mc
файлі.
Також зауважте, що маршрут пошти не змушує sendmail використовувати вказаний сервер для всіх операцій, він базується на адресі одержувача. Це насправді нормально для мене, оскільки мені потрібно надіслати лише декілька доменів (gmail, google hosted та моя робота).
Підсумок :
- Додати
FEATURE('mailertable')
у свійsendmail.mc
файл. (зауважте, що першою цитатою має бути зворотній вибір. - Створіть свій
/etc/mail/mailertable
файл (Див. Головну сторінку ) - Створіть файл карти:
sudo makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
- Відновіть свої конфігурації
make -C /etc/mail
- Перезавантажте sendmail:
service sendmail restart
Примітка: Я настійно рекомендую використовувати WebMin для редагування / відновити ці файли. Без нього я б зійшов з розуму, намагаючись зрозуміти, чому мій файл, що надсилається поштою, ігнорується.