Рубрики
mail \ почта

php mail() \ sendmail-bin \ setup \ настройка

Источники:

http://ubuntu-favorite-os.blogspot.ru/2011/10/php-mail-ubuntu.html
http://www.netangels.ru/support/hosting-howto/php-mail/
http://it-folio.ru/forum/index.php?topic=467.0
http://phpclub.ru/detail/article/mail
http://brahabr.ru/post/136735/

Задача: настроить на локальном сервере, под управлением ОС Ubuntu отправку почты средствами php-функции mail()


1. Установка SendMail из репозитория Ubuntu
sudo apt-get install sendmail

2. Проверка работоспособность smtp-сервера 
при помощи командной строки и telnet-протокола
# telnet localhost smtp
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 localhost6.localdomain6 ESMTP Sendmail 
8.14.3/8.14.3/Debian-9.2ubuntu1; Thu, 9 Dec 2010 15:31:17 +0200;
(No UCE/UBE) logging access from: localhost.localdomain(OK)-
localhost.localdomain [127.0.0.1] 
HELO localhost 
250 localhost6.localdomain6 Hello localhost.localdomain [127.0.0.1], 
pleased to meet you 
MAIL FROM: no-reply@gmail.com
250 2.1.0 no-reply@gmail.com... Sender ok 
RCPT TO: my_exist@gmail.com
250 2.1.5 my_exist@gmail.com... Recipient ok
DATA 
354 Enter mail, end with "." on a line by itself
test message
. 
250 2.0.0 oB9DVHsE004837 Message accepted for delivery 

В результате выполнения последовательности комманд на указанный емейл (my_exist@gmail.com) должно прийти сообщение ("test message"). 

3. Настройка php.ini
gedit /etc/php5/apache2/php.ini  
1) Находим и редактируем следующую строчку
sendmail_path = /usr/sbin/sendmail -t -i 4. 
2) Проверка функции mail()
echo  mail ("my_exist@gmail.com","test message","test message","From:no-reply@gmail.com");

Для debian установка такая:

apt-get update - обновляем репозиторий
apt-get install sendmail-bin - ставим sendmail
Настройка завершена