Удаленный сетевой протокол SpamAssassin (spamc) возвращает пустой ответ

я использую базовый класс PHP запустить SpamAssassin Сетевой протокол Команды на удаленном сервере. Я установил SpamAssassin следуя руководству, просто пропустив часть PostFix.

Неважно, какую команду я запускаю (CHECK, REPORT, PINGи т. д.), я получаю только пустой или пустой ответ.

Вот базовый пример PING, который должен возвращаться согласно инструкции: SPAMD/1.5 0 PONG\r\n, Вместо этого это пустой ответ.

$socket = fsockopen($hostname = 'my-remote-server-ip', $port = 783, $errno, $errstr);
fwrite($socket, "PING SPAMC/1.5\r\n");
$response = fread($socket,99999);
die("<pre>" . print_r($response,1) . "</pre>");

Что-то не так с моим письмом / чтением? Какие настройки я должен проверить на своем удаленном сервере?

0

Решение

Оказывается, в моем удаленном соединении отказали. Я понял это, запустив spamd -D -i my.remote.ip -p 783, который активно показывает вам информацию об отладке для spamd.

Этот журнал показал мне
warn: spamd: unauthorized connection from my.full.local.addr [my.local.ip] at port 54006 at /usr/sbin/spamd line 1271.

Мне нужно было явно разрешить использование моего локального IP -A,
Итак, мне нужно запустить spamd из командной строки на моем удаленном сервере с spamd -D -i my.remote.ip -p 783 -A my.local.ip,

Выполнение моего примера теперь показывает warn: spamd: bad protocol: header error: (EOF during headers) ошибка, из-за того, как я открываю сокет в моем простом примере. Если я использую GitHub репо я связал, теперь он возвращается правильно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]