Отправка почты с сервера через sendmail

Надеюсь что PHPmail у вас уже установлен.
Если же нет то устанавливаем.

sudo apt-get install php-mail

Затем устанавливаем Sendmail
После установки проверяем работает ли он

ps -aux | grep sendmail

Если все впорядке, правим php.ini

nano /etc/php5/apache2/php.ini

Находим закомментированную строку ;sendmail_path = (поиск в nano ctrl+w)
И заменяем на строку следующего содержания

 sendmail_path =  /usr/sbin/sendmail -t -i

И делаем рестарт apache

sudo service apache2 restart

После этого можно смело отправлять почту прямо из web через php скрипт.
php sendmail в ubuntu настроен!

12 комментариев к “Отправка почты с сервера через sendmail

  1. Спасибо! Наконец функция mail() заработала. Вот правда письма не приходят на указанный ящик, будем рыть дальше. Еще раз огромное спасибо!

    1. Странно, я слышал что бывают такие баги с определенными почтовыми сервисами, а вы на какой отправляете? В логах что-то есть? Постараюсь помочь.

  2. И так. не приходят письма на mail.ru yandex.ru pochta.ru , отправлял только на эти. В mail.log пишет
    Sep 22 14:50:26 sait sm-msp-queue[31663]: p8MAZscE031237: to=куда@mail.ru, ctladdr=www-data (33/33), delay=00:14:32, xdelay=00:00:01, mailer=relay, pri=210107, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p8MAoPNm031668 Message accepted for delivery)
    Sep 22 14:54:26 sait sm-mta[31672]: p8MAoPNm031668: to=, ctladdr= (33/33), delay=00:04:01, xdelay=00:04:00, mailer=relay, pri=120400, relay=smtp.mail.ru. [94.100.177.1], dsn=4.0.0, stat=Deferred: Connection timed out with smtp.mail.ru.
    Это после того как дописал в sendmail.mc эти строки
    define(`SMART_HOST’,`smtp.mail.ru’)
    define(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
    FEATURE(`authinfo’,`hash /etc/mail/auth/client-info’)dnl и создал client-info с параметрами аккаунта на маил (аккаунт пароль)
    До редактирования sendmail.mc лог писал
    Sep 21 09:54:53 sait sm-mta[8769]: p8KC0loP006339: to=, ctladdr= (33/33), delay=17:54:06, xdelay=00:00:00, mailer=esmtp, pri=9570427, relay=mxs.mail.ru., dsn=4.0.0, stat=Deferred: Connection timed out with mxs.mail.ru.

      1. Добрый день, схожая ситуация с Snegovik. Физически сервер (VPS ubuntu 11.04) располагается в штатах. При отправке сообщений скриптами и в консоли echo aaaa | sendmail your@email.com нормально приходит на gmail.com yahoo.com, а на яндекс, майл не приходит с сообщениями в mail.log типа сервер не доступен или ответил ошибкой, что такого эл. адреса не существует. На форуме подсказали копать в этом направлении http://ru.wikipedia.org/wiki/Sender_Policy_Framework. Но в моей ситуации, совершенно не понятно какую запись нужно сделать. по домену почта настроена на яндексе.

  3. После установки почта отправляется через telnet. В PHP через функцию mail() ничего не отправляется.

    php -r «mail(‘my_exist_mail@my_domain.dd’, ‘Test From Your-Site’, ‘Test Message from Sendmail by PHP’);»
    sh: 1: /usr/sbin/sendmail: Permission denied

    1. ll /usr/sbin/ | grep send*
      -rwxr-xr-x 1 root root 23572 авг. 14 2011 checksendmail*
      lrwxrwxrwx 1 root root 12 авг. 14 2011 hoststat -> sendmail-mta*
      lrwxrwxrwx 1 root root 27 авг. 14 2011 mailstats -> ../share/sendmail/mailstats*
      lrwxrwxrwx 1 root root 12 авг. 14 2011 purgestat -> sendmail-mta*
      drwxrwsrwx 2 root root 4096 нояб. 8 19:19 sendmail/
      -rwxr-xr-x 1 root root 21675 авг. 14 2011 sendmailconfig*
      lrwxrwxrwx 1 root root 30 нояб. 16 12:53 sendmail-msp -> /etc/alternatives/sendmail-msp*
      lrwxrwxrwx 1 root root 30 нояб. 16 12:53 sendmail-mta -> /etc/alternatives/sendmail-mta*
      -rwsr-xr-x 1 root root 9536 авг. 14 2011 sensible-mda*

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.