Я запускаю Ubuntu 9.10 LAMP и пытаюсь выполнить простой тест электронной почты с помощью PHP, но мне не приходят электронные письма.
mail("myemail@gmail.com", "eric-linux test", "test") or die("can't send mail");
Я не получаю ошибок от PHP при запуске этого скрипта.
В моем файле php.ini:
sendmail_path = /usr/lib/sendmail -t -i
$ sudo ps aux | grep sendmail
eric 2486 0.0 0.4 8368 2344 pts/0 T 14:52 0:00 sendmail -s “Hello world” myemail@gmail.com
eric 8747 0.0 0.3 5692 1616 pts/2 T 16:18 0:00 sendmail
eric 8749 0.0 0.3 5692 1636 pts/2 T 16:18 0:00 sendmail start
eric 9190 0.0 0.3 5692 1636 pts/2 T 19:12 0:00 sendmail start
eric 9192 0.0 0.3 5692 1616 pts/2 T 19:12 0:00 sendmail
eric 9425 0.0 0.3 5692 1620 pts/1 T 19:37 0:00 sendmail
eric 9427 0.0 0.3 6584 1636 pts/1 T 19:37 0:00 sendmail restart
eric 9429 0.0 0.3 5692 1636 pts/1 T 19:38 0:00 /usr/lib/sendmail restart
eric 9432 0.0 0.1 3040 804 pts/1 R+ 19:38 0:00 grep --color=auto sendmail
Когда я запускаю $ sendmail start, он просто зависает и ничего не делает. Я также установил postfix, чтобы посмотреть, поможет ли это, но не помогло.
Пытался увидеть 25 порт:
eric@eric-linux:~$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 eric-linux ESMTP Postfix (Ubuntu)
Спасибо
попробуйте "обвязать" sendmail, чтобы понять, почему он блокируется.
попробуйте также настроить его для использования интеллектуального хоста (например, вашего внутреннего сетевого сервера ретрансляции почты, спросите системных администраторов):
yum|apt-get install sendmail-cf
vim /etc/mail/sendmail.mc
define(`SMART_HOST',`smtpserver.tld')
или
define(`SMART_HOST',`localhost') <-- to enforce sendmail to use your postfix
обратите внимание, что в этом странном синтаксисе
dnl define(`SMART_HOST',`smtpserver.tld')
это закомментированная строка !!! так что избавьтесь от dnl, если вы нашли в строке по умолчанию smart_host
построить конф
m4 sendmail.mc > sendmail.cf
service sendmail restart
Попробуй это:
sendmail -s "Test" youraddr@ciao.it
вам действительно нужна полная установка mta? Я никогда не использую sendmail и установил только один постфикс для всех моих серверов. во всех остальных я использую ssmtp. гораздо проще настроить и эффективнее использовать, если вашему серверу не нужно получать электронные письма.
попробуйте примеры в документации вместо. Если это сработало, скорее всего, вы забыли передать дополнительную информацию в mail (). В противном случае область, которую нужно искать, будет вашей конфигурацией sendmail.
Вы проверили брандмауэр? Я пытался решить эту проблему после настройки строгого брандмауэра, блокирующего все порты ввода и вывода, кроме тех, которые используются демонами.