Работа с PHP mail

Работа с PHP mail

Функция 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)