Отказано в соединении на localhost 25 (apache James)

Я смотрел на похожий вопрос, но все, что я собираю, это то, что это может быть проблема с ОС, а не с Джеймсом:

thufir@dur:~/apache-james-3.0-beta4$ 
thufir@dur:~/apache-james-3.0-beta4$ bin/james start
Starting Apache James Server App...
thufir@dur:~/apache-james-3.0-beta4$ 
thufir@dur:~/apache-james-3.0-beta4$ telnet localhost 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
thufir@dur:~/apache-james-3.0-beta4$ 
thufir@dur:~/apache-james-3.0-beta4$ telnet 127.0.0.1 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
thufir@dur:~/apache-james-3.0-beta4$ 
thufir@dur:~/apache-james-3.0-beta4$ cat log/james-server.log 
INFO  02:23:21,406 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@3ee0b7: startup date [Wed Aug 15 02:23:21 PDT 2012]; root of context hierarchy
INFO  03:33:22,785 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@13336f: startup date [Wed Aug 15 03:33:22 PDT 2012]; root of context hierarchy
INFO  11:26:26,082 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@3ee0b7: startup date [Wed Aug 15 11:26:26 PDT 2012]; root of context hierarchy
INFO  11:40:31,812 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@d51c6c: startup date [Wed Aug 15 11:40:31 PDT 2012]; root of context hierarchy
INFO  13:00:10,698 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@3ee0b7: startup date [Wed Aug 15 13:00:10 PDT 2012]; root of context hierarchy
INFO  13:59:51,478 | org.apache.james.container.spring.context.JamesServerApplicationContext | Refreshing org.apache.james.container.spring.context.JamesServerApplicationContext@13d1929: startup date [Wed Aug 15 13:59:51 PDT 2012]; root of context hierarchy
thufir@dur:~/apache-james-3.0-beta4$ 

Быстрый старт определяет:

Step 7: Test
############

$ telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 172.16.1.131 SMTP Server (JAMES SMTP Server 3.0-beta4) ready Sat, 6 Nov 2010 17:31:33 +0100 (CET)
ehlo test

Тем не менее, это не отображается в netstat:

thufir@dur:~/apache-james-3.0-beta4$ 
thufir@dur:~/apache-james-3.0-beta4$ bin/james start
Starting Apache James Server App...
thufir@dur:~/apache-james-3.0-beta4$ 
thufir@dur:~/apache-james-3.0-beta4$ netstat -l --numeric-ports | grep james
thufir@dur:~/apache-james-3.0-beta4$ 

Итак, бинго, это ключ, я думаю. почему Джеймс не показывается в netstat, если он действительно работает?

1 ответ

Решение

Вы уверены, что это не неправильная конфигурация или что-то? Например, вы уверены, что он работает на порту 25? У меня была похожая проблема с сервером, который я написал, и я попытался подключиться к порту 7980, когда я попросил его привязать порт 7908.

Если бы я был на вашем месте, первая диагностика, которую я бы запустил - это netstat, чтобы убедиться, что сервер действительно прослушивает этот порт. Netstat кажется, просто инструмент для работы. Вы можете попробовать в командной строке что-то вроде этого: netstat -l --numeric-ports | grep jamesи посмотрим, что из этого можно сделать. Если вы не являетесь поклонником командной строки, вы можете использовать приложение Network tools, идти к Netstatи из списка маркеров активируйте выбор Display: Active Network Services.

Если он действительно работает на этом порту, моей следующей мыслью будет брандмауэр или что-то в этом роде. Вы пытались подключиться к серверу с другого хоста в той же сети?

[РЕДАКТИРОВАТЬ]: Быстрый просмотр руководства по быстрому запуску показывает, что для того, чтобы правильно запустить Джеймса, вам нужно установить libc6 в Linux!! - sudo apt-get install libc6-i386 libc6-dev-i386, Если вы убедились, что libgc6 установлен, и правильно добавили домены и пользователей, хотя он все еще не работает, возможно, вы захотите просмотреть файлы конфигурации. Особый интерес представляют следующие: smtpsever.conf, pop3server.conf, и, возможно database.properties а также jmx.properties, ОБРАТИТЕ ВНИМАНИЕ, что вы должны быть осторожны при редактировании этих файлов. Я предлагаю вам поискать подсказки о том, почему ваш сервер не привязан к адресу должным образом. Я не знаю содержимое файлов заранее, поэтому не могу посоветовать правки.

ПРИМЕЧАНИЕ. Если ничего не помогает, вы можете попробовать использовать james через java cli:

usage: java org.apache.james.cli.ServerCmd --host <arg> <command>
    -h,--host </arg>   node hostname or ip address
    -p,--port </arg>   remote jmx agent port number
Другие вопросы по тегам