Последнее обновлене - 5 сентября 2023 в 22:58
В этой заметке расскажу о том, как включить функцию PHP mail() на сервере с ОС Ubuntu. Совсем недавно мне потребовалось оформить отправку писем с сервера средствами PHP. Сделать это очень просто с помощью некоторых команд в терминале.
Первым делом надо установить пакет sendmail при помощи вот такой команды в терминале:
sudo apt-get install sendmail
Потребуется немного времени для того, чтобы произошла установка пакета sendmail.
Далее, необходимо дать команду для настройки почтового сервера:
sudo sendmailconfig
Здесь отвечаем на все вопросы — «Да» по умолчанию. Либо же настройте по своему усмотрению.
Третий шаг, в принципе, не обязательный, на котором можно отредактировать файл hosts на сервере. Для этого выполнить команду в терминале:
sudo vim /etc/hosts
Теперь перезапустим сервер либо через панель управления, либо с помощью этих команд:
sudo service apache2 restart
sudo service nginx restart
Всё это хорошо, но как теперь проверить, работает ли функция mail() на сервере? Для проверки работы функции mail() можно написать простой скрипт, который отправляет тестовое письмо на любой адрес.
Если письмо успешно отправлено, то функция работает. В противном случае нужно обратиться к администратору сервера для решения проблемы.
Для проверки работы функции mail() в WordPress можно воспользоваться следующим кодом:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $to = 'example@example.com'; $subject = 'Тестовое письмо'; $message = 'Это тестовое письмо, отправленное для проверки функции mail()'; $headers = 'From: Your Name <yourname@example.com>' . "\r\n"; // Отправка письма if (wp_mail($to, $subject, $message, $headers)) { echo 'Письмо успешно отправлено!'; } else { echo 'Ошибка отправки письма!'; } ?> |
Этот код можно вставить в любой файл шаблона WordPress, например, в файл functions.php. После вставки кода необходимо обновить страницу сайта и проверить вывод сообщения о том, было ли письмо успешно отправлено или нет.
Обратите внимание, что для работы функции wp_mail() необходимо настроить отправку писем через SMTP-сервер. Если вы не настраивали SMTP-сервер на своем сервере, то функция wp_mail() может не работать.
Всем WEB!