Я знаю, что это почти неловко, но со мной это все равно случилось.
У меня здесь есть сервер с Fedora 10 и sendmail (8.14.3). MTA используется только для отправки сообщений с локального хоста на смарт-хост. Раньше это работало нормально, за исключением того, что мне нужно было изменить этот смарт-хост, поскольку он был заменен другой машиной с другим IP-адресом и другим DNS-именем (в ходе внутренней оптимизации).
Я выполнил некоторые инструкции, которые нашел где-то на форуме, и добавил строку в почтовую таблицу, например:
aminocom.com ESMTP:[mail.aminocom.com]where mail.aminocom.com is the name of the internal smarthost.
Затем я использовал утилиту m4 для создания новых файлов .cf и перезапустил sendmail. И бац, я получаю следующую ошибку:
service sendmail restart Shutting down sm-client: [FAILED] Shutting down sendmail: [ OK ] Starting sendmail: [ OK ] Starting sm-client: No local mailer defined QueueDirectory (Q) option must be set [FAILED]
Я погуглил, но в основном придумываю сообщения на форумах, на которые никто не ответил.
Согласно sendmail.cf, QueueDirectory определен. И, похоже, нигде нет информации о том, как определить локальную почтовую программу ???? Плюс: когда я использую утилиту m4 для повторного создания submit.cf, полученный файл не принимается и выдает следующую ошибку:
Starting sm-client: /etc/mail/submit.cf: line 0: invalid argument to V line: "ERSIONID(linux setup"
И это несмотря на то, что файл submit.mc точно такой же, как и на другом сервере (на котором также работает Fedora 10 с sendmail), где все работает отлично.
В идеале я хотел бы просто отказаться от sendmail и использовать exim, но в данном конкретном случае у меня нет такого выбора. Итак, может ли кто-нибудь указать мне правильное направление?
Я нашел решение. Не уверен, что я должен это делать или нет, но все равно работает.
После запуска либо
make all
или
m4 sendmail.mc>sendmail.cf
Я просто сделал
cp sendmail.cf submit.cf
затем перезапустил sendmail, и все работает нормально. Странно, что нигде по этому поводу нет никакой документации.
После некоторого поиска в Google я нашел эту статью и, поскольку она мне помогла, я хотел опубликовать, что сработало. Я столкнулся с этой ошибкой с Rhel4 при попытке выполнить:
m4 sendmail.mc> sendmail.cf
/etc/mail/submit.cf: строка 1: недопустимый аргумент для строки V: «ERSIONID (установка linux») Предупреждение: файл .cf устарел: sendmail 8.13.1 поддерживает версию 10, файл .cf - это версия 0 Нет локального Опция QueueDirectory (Q), определяемая почтовой программой, должна быть установлена
выполнив: cp sendmail.cf submit.cf (Предложение отсюда), это устранило проблему, и теперь я снова могу отправлять почту с помощью mailx.
в качестве примечания, на сервере также не установлен sendmail-cf pkg.
надеюсь, что это поможет, и просто хотел сказать «спасибо» за эти шаги.