Отправка почты средствами php-функции mail в Ubuntu/Debian
18 декабря 2019
Итак, задача: настроить на локальном сервере, под управлением ОС 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
Находим и редактируем следующую строчку
sendmail_path = /usr/sbin/sendmail -t -i
4. Проверка функции mail()
echo mail ("my_exist@gmail.com","test message", "test message","From:no-reply@gmail.com"); ?>
Настройка завершена
Для debian установка такая:
Необязательно, но желательно - обновляем репозиториум командой: apt-get update
Затем ставим sendmail командой: apt-get install sendmail-bin
Настройка завершена