Для отправки email в PHP используется фунция mail(). Чтобы отправить письмо нужно указать адрес получателя, тему письма и текст сообщения, а также специальный заголовок From, с указанием отправителя:

<?php
mail('receiver@example.com', 'Тема письма', 'Текст письма', 'From: sender@example.com');
?>

Если этот код выполнить на хостинге, то письмо будет отправлено и придёт получателю, но если мы используем OSPanel, то по умолчанию все наши письма будут просто записываться в лог-файл( расположен в папке .\OSPanel\logs\mail ).

[!info] Дополнительную информацию по данному вопросу можно найти в документации PHP.

Настройка отправки email в OSPanel 6.0 через удалённый SMTP

Установите windows-приложение sendmail.exe

SendMail — программа, которая может отправлять электронные письма по протоколу SMTP.
В предыдущих версиях OSPanel программа sendmail.exe была включеня, но в версии 6.0 ее нет, поэтому:
скачайте sendmail.zip и распакуйте его содержимое (например в папку .\OSPanel\sendmail )

Настройте SendMail

В файле конфигурации С:\sendmail\sendmail.ini укажите свои значения:

smtp_server=
smtp_port=
auth_username=
auth_password=

[!note] Параметры следует указывать без ковычек.

Пример настройки SendMail для популярного хостинга Timeweb

Отправку писем из скриптов на сайтах можно осуществлять через SMTP-сервер или через Exim (агент пересылки сообщений), установленный на каждом сервере виртуального хостинга Timeweb.

Для отправки по SMTP используются следующие реквизиты:

  • сервер для отправки электронной почты — smtp.timeweb.ru,
  • порт — 25 или 2525,
  • логин пользователя совпадает с электронным ящиком,
  • пароль от электронного ящика.

Настройка сервера OSPanel

Настройки Open Server Panel и ее модулей хранятся в файле .\OSPanel\config\program.ini. Отключите встроенный SMTP сервер в секции [smtp]:

...
[smtp]

;open_email_after_saving  = off
;saved_email_extension    = .eml
;smtp_port                = 25
smtp_server              = off
...

Далее необходимо отредактировать файл настроек модуля PHP с версией активированной для нашего пректа (например PHP-8.3) .\OSPanel\config\PHP-8.3\default\templates\php.ini:

...
;--------------------------------
; Mail
;--------------------------------

mail.add_x_header               = Off
;mail.force_extra_parameters    =
;mail.log                        = "{root_dir}/logs/{module_name}/php_mail.log"
;mail.mixed_lf_and_crlf         = Off
;sendmail_from                  =
;sendmail_path                  =
;SMTP                            = "{api_domain}"
;smtp_port                       = {smtp_port}
sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"
...

или вместо добавленной строки в файле .\OSPanel\config\PHP-8.3\default\templates\php.ini:

sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"

добавить строку

php_admin_value sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"

в конце файла .\OSPanel\config\PHP-8.3\default\templates\httpd.conf:

...
    </VirtualHost>
    </IfModule>
</Macro>

php_admin_value sendmail_path = "{root_dir}/sendmail/sendmail.exe -t"

# -----------------------------------------------------------------------------------
# Virtual Hosts
# -----------------------------------------------------------------------------------
...

[!warning] Важно: Для применения изменений необходимо перезапустить Open Server Panel.

В результате, отправка почты должна работать.