У меня проблема с sendmail на моем сервере (ubuntu 12.10) с установленными php, mysql и wordpress. В основном я хочу создать контактную форму в своем блоге, чтобы получать электронные письма от посетителей прямо в мою учетную запись gmail, но это действительно работает! Я создал файл php с именем testmail.php, чтобы вызвать его из браузера:
<?php
$to = 'MYEMAIL@gmail.com';
$subbject = 'TEST MAIL';
$msg = 'test test test test test test test test test test test test test test test';
$isMailed = mail($to, $subbject, $msg, 'From:me <test@test.com>');
if($isMailed)
echo 'mail has been send to: ' . $to;
else
echo 'mail has NOT been send..';
?>
Но я ничего не получаю! В /var/log/mail.log говорится:
NOQUEUE: SYSERR(root): opendaemonsocket: daemon MTA-v4: cannot bind: Address already in use
Что я делаю не так? Где мне нужно проверить? Какая информация вам нужна еще? Проверил тоже в папку со спамом, ничего.
Спасибо!
Остановить запуск sendmail. Затем попробуйте подключиться к порту 25, скажем telnet localhost 25
и посмотрите, сможете ли вы подключиться. Если вы это сделаете, то у вас есть два почтовых сервера, конкурирующих за подключение, как прокомментировал Alien Life Form. Возможно ли, что у вас все еще включен postfix или exim?
Теперь при использовании telnet
или nc
вы не подключаетесь к порту 25, подождите несколько минут и снова запустите sendmail. Вы подключаетесь сейчас? Если да, проблема решена. По какой-то причине у вас был процесс, который связывал порт 25 раньше, чем sendmail. Возможно, вам придется проверить это дополнительно. Если нет, то что-то блокирует привязку sendmail к порту 25. Вы должны изучить это более внимательно. lsof
может быть твоим другом.