Итак, задача: настроить на локальном сервере, под управлением ОС 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

Код:
sudo nano /etc/php5/apache2/php.ini

Находим и редактируем следующую строчку

sendmail_path = /usr/sbin/sendmail -t -i
4.  Проверка функции mail()

Код:
<?

 echo  mail ("my_exist@gmail.com","test message",
             "test message","From:no-reply@gmail.com");

?>

Настройка завершена
Ссылка