Назад | Перейти на главную страницу

Sendmail не отправляет

У меня есть сервер sendmail на сервере Solaris 10, который перестал работать. Я не могу найти ничего о неудачных сообщениях в / var / adm / sendmail. Вот что я вижу, когда пытаюсь отладить:

[(root)/var/adm]$ sendmail -v me@myemail.com < testmessage 
me@myemail.com... queued
[(root)/var/adm]$ /usr/ucb/mail -v me@myemail.com
Subject: Test message
Here is a test message
.
EOT
[(root)/var/adm]$ me@myemail.com... queued
[(root)/var/adm]$ mailq
/var/spool/mqueue is empty
    Total requests: 0

Так что не похоже, что он что-то делает. Иногда, когда я пытаюсь выполнить отладку, я получаю ответ «127.0.0.1 Connection Refused», но это происходит не постоянно. Примечание. Я заменил свой личный адрес Gmail на «me@myemail.com» выше. Для этого адреса нет procmail или чего-либо еще, и я постоянно проверяю папку «Спам».

Что-нибудь еще, что я могу попытаться выяснить, почему это не работает?

Изменить: вывод mailq -C включает строки и строки:

q0AFMJwG026997X    1629 Tue Jan 10 10:22 MAILER-DAEMON
             (Deferred: Connection refused by [127.0.0.1])

Могу поклясться, что вчера я пробовал это, но ни telnetting на localhost 25 с машины, ни telnetting к машине с моего рабочего стола не работают:

[(root)/]$ telnet 127.0.0.1 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
[(root)/]$ 

и

[~]$ telnet 192.168.129.50 25
Trying 192.168.129.50...
telnet: connect to address 192.168.129.50: Connection refused
telnet: Unable to connect to remote host

Sendmail запущен:

[(root)/]$ ps -ef |grep sendmail
smmsp 18616     1   0 16:22:18 ?           0:00 /usr/lib/sendmail -Ac -q15m
root 18614     1   0 16:22:18 ?           0:03 /usr/lib/sendmail -bd -q15m

Но я не вижу, чтобы он слушал порт 25 с помощью netstat -an.

РЕДАКТИРОВАТЬ: Спасибо всем за то, что остались и помогли. У меня sendmail сейчас прослушивает порт 25 (он отказывался из-за высокой средней нагрузки и значений QueueLA и RefuseLA). Теперь я могу подключиться к порту 25 по Telnet и отправлять электронную почту с помощью команд SMTP. Но любое письмо, которое я пытаюсь отправить с помощью sendmail или / usr / ucb / mail, все равно помещается в очередь и исчезает. Что еще мне нужно проверить?

РЕДАКТИРОВАТЬ: Я собираюсь закрыть это, потому что теперь я перешел к новому набору проблем. Настройки QueueLA и RefuseLA помогли sendmail начать работу на порту 25, но теперь у меня проблема с очередью. Я открыл новый вопрос здесь.

Еще один совет - проверить, включены ли службы sendmail, хотя два процесса sendmail уже запущены:

% svcs -a | grep sendmail
online         20:47:39 svc:/network/smtp:sendmail
online         20:47:59 svc:/network/sendmail-client:default

Если они НЕ "в сети", попробуйте:

% svcadm enable smtp:sendmail
% svcadm  enable sendmail-client:default

Теперь вы должны уметь:

% telnet localhost 25
QUIT 

Значения QueueLA и RefuseLA были слишком низкими. Их повышение вернуло sendmail на порт 25, но теперь у меня другая проблема. Вот вопрос по следующей проблеме, с которой я столкнулся.

Таким образом, sendmail был очень быстрым между отправкой почты и выдачей mailq, право? Выполненные вами команды ничего не доказывают и ничего не отрицают. Единственное, что может служить доказательством, - это файл журнала, tcpdump сетевого трафика или что-то подобное, показывающее процесс отправки.

С другой стороны, «перестал работать» означает, что он работал раньше. Так что же изменилось между тем и сейчас?

Без каких-либо журналов или других доказательств .... Я бы сказал, что ваш процесс sendmail не работает или не разрешен для выполнения из-за конфигурации Solaris 10.

Вы можете увидеть, запущен ли какой-либо процесс, используя что-то вроде ps -aef и ищущее процессы sendmail.