Функция PHP mail предназначена для отправки электронной почты, и ее работа осуществляется на нашем хостинге через агент пересылки почтовых сообщений Exim, который установлен на каждом сервере виртуального хостинга.
Отправка сообщений
Чтобы отправить тестовое сообщение, необходимо создать PHP-скрипт, например, со следующим содержанием:
<?php
$message = "Line 1\nLine 2\nLine 3";
$message = wordwrap($message, 70);
var_dump(mail('mail@domain.ru', 'My Subject', $message));
?>
Либо:
<echo "test message" | mail -s "This is test!" mail@domain.ru >
В первом примере переменная $message содержит текст письма. Вместо mail@domain.ru необходимо указать корректный адрес получателя письма.
Письма отправляются от user@server.timeweb.ru, где user — это ваш логин, а server — имя сервера, на котором расположен аккаунт. Доступ к данному электронному ящику невозможен. Также невозможна DKIM-подпись (цифровая подпись, подтверждающая что письмо отправлено именно с этого адреса) для данного вида писем.
Если вы хотите отправлять письма с существующего почтового ящика вашего домена и настроить для него DKIM, воспользуйтесь нашей инструкцией.
Для того, чтобы в качестве адреса отправителя указывался определенный ящик, необходимо помимо заголовка From передавать почтовому серверу в функции mail аргумент -f:
mail("получатель", "тема", "текст", "заголовки", "-f адрес отправителя")
Дополнительную информацию можно найти в документации PHP.
Недоступность PHP mail
Доступ к работе с PHP mail может быть заблокирован:
- на тестовом аккаунте;
- из-за открытого инцидента по вредоносному коду, фишингу и др.
Проверить, доступны ли почтовые функции для аккаунта, можно при подключении по SSH. Для этого введите команду:
id
Такой вывод команды id говорит о том, что почтовые функции доступны:
uid=4122(user) gid=600(customers) groups=600(customers)