SMTP-соединение с использованием ошибок PHP - PullRequest
2 голосов
/ 14 января 2011

Что-то не так с:

$s = fsockopen($mailserver, 25);
echo '1 > '.fgets($s);
fwrite($s, 'HELO');
echo '2 > '.fgets($s);
fclose($s);

Выход:

1 > 220 mail.sogetthis.com ESMTP Postfix 2 >

1 Ответ

1 голос
/ 14 января 2011

Код 220 означает, что SMTP-сервер готов к приему команд.Вы вводите команду HELO, и сервер должен ответить 250, если ваша последняя команда была успешной, а это не так.Попробуйте добавить домен почтового сервера, к которому вы подключаетесь, после выполнения команды HELO.

fwrite($s, "HELO domain.com\r\n");

Кроме того, после всех ваших команд необходимо включить \r\n управляющих символов.Обратите внимание на двойные кавычки вокруг команды.В этом случае необходимо использовать \r\n, потому что двойные кавычки оценивают переменные и управляющие символы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...