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