Timeweb php mail не работает

Не отправляются письма

Чаще всего ошибка с отправкой писем возникает в следующих случаях:

  1. Неверно указан адрес получателя.
  2. Превышены показатели ограничений на отправку. С ограничениями вы можете ознакомиться в данной статье.
  3. Вы используете тестовую версию услуги. В тестовом режиме возможность работы с почтой не предоставляется.
  4. На аккаунт наложены санкции за нарушение правил использования услуг, например, из-за отправки спама. С правилами предоставления услуг вы можете ознакомиться на нашем сайте.
  5. Ошибки в настройке почтовых клиентов. Проблема устраняется исправлением ошибок — выполнить проверку и настройку вам необходимо самостоятельно. Общие рекомендации по настройке вы можете найти здесь.
  6. Сбои в работе или ограничения почтового сервера-получателя. Для решения вопроса вам необходимо обратиться к владельцам сервера.
  7. Некорректная работа CMS. Решать проблему вам необходимо самостоятельно: служба поддержки не дает рекомендаций по оптимизации систем управления контентом.
  8. Ошибки в скриптах. Проблема решается самостоятельным исправлением ошибок в коде скриптов.
  9. Сбои в работе почтовых серверов Timeweb или веб-интерфейса Webmail. Проблема решается на нашей стороне.

Если ваш случай нельзя решить самостоятельно, или вы не можете определить, чем вызвана проблема, отправьте авторизованный запрос в службу поддержки из панели управления вашим аккаунтом. При отправке обращения необходимо указать следующие данные:

  • время отправки одного из сообщений;
  • адрес отправителя или адрес сайта, с которого отправляется сообщение;
  • электронный ящик получателя.

Источник

Работа с PHP mail

Функция PHP mail предназначена для отправки электронной почты, и ее работа осуществляется на нашем хостинге через агент пересылки почтовых сообщений Exim, который установлен на каждом сервере виртуального хостинга.

Отправка сообщений

Чтобы отправить тестовое сообщение, необходимо создать php-скрипт, например, со следующим содержанием:

В данном примере переменная $message содержит текст письма, а вместо mail@testdomain.ru необходимо указать корректный адрес получателя письма.

Письма отправляются от user@server.timeweb.ru, где user — это ваш логин, а server — имя сервера, на котором расположен аккаунт. Доступ к данному электронному ящику невозможен. Также невозможна DKIM-подпись (цифровая подпись, подтверждающая что письмо отправлено именно с этого адреса) для данного вида писем.

Для того, чтобы в качестве адреса отправителя указывался определенный ящик, необходимо помимо заголовка From передавать почтовому серверу в функции mail аргумент -f:

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

Недоступность PHP mail

Доступ к работе с PHP mail может быть заблокирован:

на тестовом аккаунте;

из-за открытого инцидента по вредоносному коду, фишингу и др.

Проверить, доступны ли почтовые функции для аккаунта, можно при подключении по SSH. Для этого введите команду:

Такой вывод команды id говорит о том, что почтовые функции доступны.

Подробная информация о данной функции доступна в официальной документации PHP.

Источник

Почему не приходят письма с сайта. Пример частного случая

Хорошо, если не дошло простое сообщение, а если у вас интернет-магазин? По сути, это остановка работы всего бизнеса. И даже если магазин только начинает «взлетать», недоставка сообщений потенциальному заказчику может иметь очень негативные последствия, вплоть до закрытия проекта, ведь сарафанное интернет-радио очень влиятельно.

Покупатель оплатил заказ, не получил обратной связи и все. Завтра на десятках ресурсов он пишет гневные послания: не связывайтесь с этим магазином, там мошенники. И по-своему он прав. То, что не дошло письмо, это целиком вина владельца сайта.

Не так давно ко мне обратился знакомый, он на пару лет закрывал свой магазин, а позже решил возобновить дело. Сайт висел почти два месяца без единого заказа, пока знакомый, наконец, не додумался проверить, сделав заказ сам. Оказывается, просто не приходили сообщения.

Читайте также:  Не работают фонари подсветки номера

Начинать всегда нужно, конечно, с логов, но знакомый решил сэкономить и расположил сайт на частном сервере, где о логах ни сном ни духом.

Для проверки я указал свой почтовый ящик от Яндекс.Почты, и письмо пришло, оно попало в спам, но скрипт работал. Но стоило отправить сообщение на mail.ru или gmail, то письма не приходили. Их не было даже папке спам.

Поскольку решение нужно было быстро, я просто попросил знакомого зарегистрировать почту на Яндекс и там настроил переадресацию на его основной почтовый ящик.

Причины и следствия

Причина была очень простой, даже банальной, и ей уже несколько лет. Насколько помню, примерно в 2016 году Mail.ru внес изменения в политики DMARC для всех основных доменов бесплатной почты. Если посмотреть свойства письма, то отправителем выступал сайт магазина, а получателем для ответа была указана почта mail.ru.

Сдается нам, мил человек, что ты.

Для фильтра это обычно означает, что отправитель совсем не тот, за кого себя выдает. Вася прикидывается Петей.

Другими словами, нам нужно, чтобы mail.ru понял, что мы те, за кого себя выдаем.

Я переключил способ отправки с POP3 на SMTP — и все заработало. При SMTP посетитель авторизуется на mail.ru, сервер понимает, что это «наш человек» и пропускает письма.

Вроде бы все хорошо, но gmail так и не пропускал письма, а Яндекс все складывал в папку «Cпам», пока не укажешь обратное, поскольку некоторые заголовки писем не отвечали требованиям почтовых служб. Согласитесь, это нехорошо, ибо клиент может пользоваться любым почтовым сервисом, а проверять сообщение в спаме будет не каждый.

При разработке сайта, особенно недорогого, разработчик берет скрипт (модуль, плагин), который ему больше нравится, и ставит на сайт. Ему «до лампочки», как будет работать скрипт через несколько лет, или когда изменятся правила, ибо договора на поддержку нет. А разработчик скрипта отправки почты может либо забросить свое детище, либо делает его так, как считает нужным. И ему глубоко не интересно, как скрипт работает на отдельно взятом сайте.

Поэтому было решено все сделать правильно, с соблюдением всех правил DomainKeys Identified Mail, который сейчас де-факто является стандартом.

Для начала была заведена почта на хостинге, с именем сайта . В случае с виртуальным хостингом Timeweb все заголовки должны прописаться правильно, автоматически. Если у вас выделенный сервис, то, вернее всего, некоторые записи придется прописать вручную, для проверки можно воспользоваться https://www.iptrackeronline.com/email-header-analysis.php либо другими онлайн-сервисами.

Далее можно настроить переадресацию на почту заказчика. Хотя по современным нормам считается дурным тоном отвечать с бесплатных почтовых сервисов, это сильно смахивает на жульничество. Если запустили сайт, то заведите себе нормальную почту, которая соответствует имени сайта, и используйте для работы с сайтом.

Хотите выглядеть солидно в глазах клиентов, а не как «шарашкина контора», никаких mail.ru, яндекс и прочих джимайлов, только корпоративная почта.

Если почта все-таки не приходит

Возможно, ваш сайт был взломан, и с него происходила рассылка спама. Проверьте свой ресурс на наличие в «черном списке», например, с помощью virustotal.com

Почтовый шаблон не соответствует требованиям, например, содержит скрипты, изображения загружаются со сторонних адресов или неестественные внутренние ссылки.

Вы увлекались рассылкой, а большинство получателей отметило ваши сообщения как спам, и ваша репутация отправителя стала низкой.

Сервер или IP-адрес, на котором расположен ваш сайт, имеет также низкую репутацию, проверить, например, здесь https://mxtoolbox.com/blacklists.aspx

Что я хотел сказать? А то, что в 99% случаев почта не ходит по самым простым и очевидным причинам, нужно только их увидеть и с полной ответственностью отнестись к настройкам своего сайта. И, конечно, в данной статье не рассматриваются экзотические случаи, которые тоже имеют место.

Читайте также:  Как починить самокат своими руками

Источник

Отправка почты с сайта через SMTP

В отдельных случаях может потребоваться настроить отправку почты с сайта через SMTP-подключение. Популярные CMS имеют специальные плагины или встроенные инструменты для этой функции.

Обратите внимание, что на наших серверах запрещена подмена отправителя: адрес отправителя должен совпадать с адресом, под которым выполняется авторизация на SMTP-сервере.

WordPress

В WordPress вы можете использовать один из плагинов, решающих данную задачу, например, WP Mail SMTP, Mail Bank и др. Скачайте нужный плагин с сайта WordPress либо найдите его в разделе «Плагины» и выполните установку. Далее активируйте плагин и перейдите к его настройке, нажав на «Settings».

Укажите требуемые данные (имена полей могут отличаться в зависимости от используемого модуля):

  • From Email — почтовый ящик, с которого будет происходить отправка.
  • From Name — имя отправителя (будет видно адресату в поле «От»); можно указать, например, имя сайта.
  • Mailer — Send all WordPress emails via SMTP
  • SMTP Host — smtp.timeweb.ru
  • SMTP Port — 25 или 2525 (либо 465, и в этом случае также нужно выбрать «SSL» в пункте «Encryption»)
  • Authentication — Yes: Use SMTP authentication
  • Username — почтовый ящик (совпадает с полем «From Email»).
  • Password — пароль от указанного ящика.

После сохранения настроек у вас есть возможность произвести тестовую отправку, чтобы проверить, что все работает корректно.

Drupal

Для Drupal также существует специальный модуль — SMTP Authentication Support. По ссылке выберите модуль для нужной версии CMS (7 или 8) и скачайте архив либо скопируйте ссылку на него.

В админ-панели сайта перейдите в раздел «Расширения» и нажмите «Установить новый модуль». Укажите путь к скачанному архиву или вставьте скопированный URL, нажмите «Установить». После установки модуля перейдите в раздел «Конфигурация» и в блоке «Система» нажмите на имя нового модуля.

Дальше требуется включить его и указать необходимые данные.

  • SMTP-сервер — smtp.timeweb.ru
  • Порт SMTP — 25 или 2525 (либо 465, и в этом случае также нужно выбрать «SSL» в пункте «Использовать протокол шифрования»).
  • Имя пользователя — почтовый ящик.
  • Пароль — пароль от указанного ящика.
  • Адрес отправителя — почтовый ящик, с которого будет происходить отправка (совпадает с полем «Имя пользователя»).
  • Имя отправителя — имя, которое будет отображаться для получателя поле «От», например, имя вашего сайта.

После сохранения настроек у вас есть возможность произвести тестовую отправку, чтобы проверить, что все работает корректно.

Joomla

В случае с Joomla для настройки почты по SMTP вам доступны внутренние инструменты в админ-панели CMS. Кликните на ссылку «Система» в меню сверху, далее — «Общие настройки»; после перейдите на вкладку «Сервер» и найдите блок «Настройка почты».

Убедитесь, что опция «Отправка почты» включена, после чего укажите необходимые данные:

  • E-mail сайта — почтовый ящик, с которого будет происходить отправка.
  • Отправитель письма — имя отправителя (будет видно адресату в поле «От»); можно указать, например, имя сайта.
  • Способ отправки — SMTP
  • SMTP-сервер — smtp.timeweb.ru
  • Порт SMTP-сервера — 25 или 2525 (либо 465, и в этом случае также нужно выбрать «SSL» в пункте «Защита SMTP»).
  • Авторизация на SMTP-сервере — Да
  • Имя пользователя SMTP — почтовый ящик (совпадает с полем «E-mail сайта»).
  • Пароль для SMTP — пароль от указанного ящика.

После сохранения настроек у вас есть возможность произвести тестовую отправку, чтобы проверить, что все работает корректно.

MODX Revolution

MODX Revo, как и Joomla, имеет необходимые внутренние инструменты. В админ-панели наведите курсор на значок шестеренки справа вверху и откройте раздел «Системные настройки». В поле «Фильтр по разделу» выберите «Почта».

Читайте также:  Как настроить часы amst sd3003

Укажите следующие значения для перечисленных ниже параметров:

  • SMTP аутентификация — Да
  • SMTP хосты — smtp.timeweb.ru
  • SMTP пароль — пароль от почтового ящика.
  • SMTP номер порта — 25 или 2525 (либо 465, и в этом случае также нужно указать «ssl» в пункте «SMTP префикс для соединений»).
  • SMTP пользователь — почтовый ящик, с которого будет происходить отправка.
  • Использовать SMTP — Да

1C-Битрикс

Специальные модули для отправки почты по SMTP существуют и для 1С-Битрикс, найти их можно в каталоге решений. Есть платные и бесплатные модули (например, этот). Описание функционала, инструкции по установке, а также отзывы других пользователей доступны на странице конкретного модуля.

Имена полей в процессе настройки могут отличаться, но основные параметры, которые вам нужно использовать, следующие:

  • SMTP-сервер — smtp.timeweb.ru
  • Порт — 25 или 2525 (либо 465, и в этом случае также нужно указать «SSL» в пункте «Тип шифрования»).
  • Аутентификация SMTP — Да
  • Имя пользователя — почтовый ящик, с которого будет происходить отправка.
  • Пароль — пароль от почтового ящика.

Netcat

В админ-панели перейдите в раздел «Настройки» — «Настройки системы». В блоке «Вид транспорта» выберите «Использовать SMTP» и укажите следующие параметры:

  • SMTP сервер — smtp.timeweb.ru
  • Порт — 25 или 2525 (либо 465, и в этом случае также нужно указать «SSL» в пункте «Шифрование»).
  • Использовать аутентификацию — отметить галочкой.
  • Имя пользователя — почтовый ящик, с которого будет происходить отправка.
  • Пароль — пароль от почтового ящика.

Instant CMS

В админ-панели сайта перейдите в раздел «Настройки» и далее на вкладку «Почта». В пункте «Почтовый транспорт» выберите «SMTP» и укажите следующие параметры:

  • Адрес отправителя — почтовый ящик, с которого будет происходить отправка.
  • Название отправителя — имя отправителя, например, имя сайта (будет видно адресату в поле «От»).
  • SMTP Сервер — smtp.timeweb.ru
  • Порт — 25 или 2525 (либо 465, и в этом случае также нужно указать «SSL» в пункте «SMTP Шифрование»).
  • SMTP Авторизация — отметить галочкой.
  • SMTP Пользователь — почтовый ящик (совпадает с полем «Адрес отправителя»).
  • Пароль — пароль от почтового ящика.

После сохранения настроек вы можете произвести тестовую отправку по кнопке «Проверить настройки почты» слева вверху, чтобы убедиться, что все работает корректно.

phpBB

В панели администратора на вкладке «Общие» кликните на пункт «Настройки почты» (в разделе «Средства связи»). В блоке «Настройки SMTP» укажите следующие параметры:

  • Использовать SMTP для отправки email-сообщений — Да.
  • Адрес сервера SMTP — smtp.timeweb.ru
  • Порт сервера SMTP — 25 или 2525 (либо 465, и в этом случае адрес сервера SMTP необходимо указать как ssl://smtp.timeweb.ru).
  • Метод аутентификации для SMTP — PLAIN
  • Имя пользователя SMTP — почтовый ящик, с которого будет происходить отправка.
  • Пароль SMTP — пароль от почтового ящика.

После сохранения настроек вы можете произвести пробную отправку по кнопке «Отправить тестовое email-сообщение» сверху над блоком SMTP.

PrestaShop

В админ-панели в блоке «Настроить» выберите «Расширенные параметры» — «E-mail». Отметьте пункт «Задать свои параметры для SMTP сервера» и укажите следующие значения:

  • Сервер SMTP — smtp.timeweb.ru
  • Имя пользователя SMTP — почтовый ящик, с которого будет происходить отправка.
  • Пароль SMTP — пароль от почтового ящика.
  • Порт — 25 или 2525 (либо 465, и в этом случае также нужно указать «SSL» в пункте «Шифрование»).

В блоке ниже («Проверка конфигурации электронной почты») вы можете произвести тестовую отправку, для проверки корректности настроек.

Opencart

В админ-панели перейдите в раздел «Система» — «Настройки». Нажмите на кнопку «Редактировать» у магазина и откройте вкладку «Почта». В пункте «Почтовый протокол» выберите «SMTP» и укажите следующие параметры:

Источник

Оцените статью