OpenSUSE Ubuntu Windows Без рубрики Март 10, 2011 LAMP. Отправка почты функцией PHP mail(). Если после установки например LAMP сервера у вас не работают скрипты с функцией php mail(), точней письма просто не отправляются, то это значит что вам нужно установить почтовый сервер, например Postfix. Но Postfix — это огромный с кучей возможностей почтовый сервер, и мне он был не к чему. Мне нужно было лишь заставить работать функцию mail(), точней просто отправлять письма с сервера, например при регистрации, или заказе товара в интернет-магазине, и т.д. Поискав информацию, я нашел очень хороший, минимальный MTA, для таких целей. Таким оказался — SSMTP. Нету не чего лишнего, прост в установке, и настройке. Давайте установим и настроем ssmtp для отправки писем, например через gmail. Для установки SSMTP выполните в терминале: sudo apt-get install ssmtp Отредактируем файл-конфигурации: sudo gedit /etc/ssmtp/ssmtp.conf Добавим туда следующие строчки, заменяя их на свои данные: root=youremailhere@gmail.com mailhub=smtp.gmail.com:587 AuthUser=yourgmailusername AuthPass=yourgmailpassword UseSTARTTLS=YES По-сути, по таком же примеру можно настроить почту и под любого другого сервиса почты. Есть еще и другой способ, ниже я приведу пример настроек для yandex.ru sudo gedit /etc/ssmtp/revaliases Пишем следующие строчки, и не забываем их изменить под свои данные root: pupkin @yandex.ru:smtp.yandex.ru:465 UserUbuntu:pupkin @yandex.ru:smtp.yandex.ru:465 www-data:pupkin @yandex.ru:smtp.yandex.ru:465 Сохраняем и закрываем. Редактируем конфиг: sudo gedit /etc/ssmtp/ssmtp.conf И все содержимое заменяем следующим: hostname=localhost FromLineOverride=NO AuthUser= pupkin @yandex.ru AuthPass= 12345 mailhub=smtp.yandex.ru:465 UseTLS=YES Подставляем свои данные, сохраняем, и закрываем. Далее откроем php.ini и отредактируем его: sudo gedit /etc/php5/apache2/php.ini находим параметр: sendmail_path , раскоментируем его и добавляем путь к ssmtp: sendmail_path = /usr/sbin/ssmtp -t Сохраняем изменения и перезагружаем апач: sudo /etc/init.d/apache2 restart Sendmail Но существует и второй способ, и он еще проще. Но вся проблема в том, что он не у всех работает, иногда нужно звонить провайдеру, или теребенить в тех поддержку, чтоб прописали PTR запись Установим sendmail sudo apt-get install sendmail отредактируем php.ini И дадим знать для php, что мы будем отправлять почту, через sendmail sudo gedit /etc/php5/apache2/php.ini в параметре sendmail_path пропишем следующее: sendmail_path = /usr/sbin/sendmail -t Перезагрузим веб-сервер sudo /etc/init.d/apache2 restart Пост обновлен! 28.12.2011 Похожие записи Установка и настройка LAMP (Apache, MySQL, PHP) Screenlets — виджеты для рабочего стола. Установка драйвера Nvidia GeForce 8500GT Полезное дополнение к Nautilus Mozilla Thunderbird. Русификация. Перенос профиля из windows в ubuntu Автор: Игорь Овсейчук Рубрика Ubuntu Метки: mail mta php postfix sendmail ssmtp почта Gimp 2.7 — однооконный графический редактор Mozilla Thunderbird. Русификация. Перенос профиля из windows в ubuntu Вы можете оставить комментарий , или отправить трэкбек на ваш сайт. 40 Комментариев к “LAMP. Отправка почты функцией PHP mail().” Андрей 11.03.2011 в 04:08 Круто :3 Буду иметь ввиду… Ответить Игорь Овсейчук 22.03.2011 в 13:49 Сам несколько часов мучался с Postfix, пока не узнал о ssmtp Ответить Guedda 18.10.2011 в 15:06 Добрый день. Попробовал сегодня второй легкий способ (что с sendmail) на своем LAMP (Ubuntu 11.10) Во-первых, очень долго отрабатывает скрипт отправки, а во-вторых, на почту все-таки не приходит письмо, которое должно приходить. Не знаете, в чем может быть проблема? Ответить Игорь Овсейчук 18.10.2011 в 15:09 Проверьте почту в папке спам. Скорей всего письмо попало туда. По крайней мере у меня так было. Еще можете проверить на всякий случай логи. Ответить Guedda 18.10.2011 в 15:12 В спаме тоже нет. А какие именно логи смотреть, если не сложно, скажите? И еще подскажите, зачем параметр -t указывать в php.ini? Ответить Игорь Овсейчук 18.10.2011 в 15:22 var/log/mail.err попробуйте без -t Ответить Игорь Овсейчук 18.10.2011 в 15:27
Ubuntu | LAMP. Отправка почты функцией PHP mail(). | Блог. Личные записки.
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.