Диагностика и решение проблем при подключении к почтовым серверам Beget
Для решения проблем с подключением к почтовым серверам Beget необходимо выполнить диагностические меры, описанные ниже.
Для начала стоит проверить настройки используемого почтового клиента: The Bat, Thunderbird и т.д. Данные для подключения описаны в статье. Если все настройки указаны верно, но почта не работает, стоит выполнить несколько консольных команд, которые помогут разобраться в причине неработоспособности. Чтобы запустить консоль, необходимо сделать следующее:
Диагностика в Windows / Mac OS X / Linux
Необходимо открыть консоль (терминал).
Для этого в Windows нажмите кнопку «Пуск» (она обычно находится в левом нижнем углу экрана), выберите пункт «Выполнить«, наберите cmd и нажмите «OK» либо «Enter«. Или есть другой способ — нажимаете на клавиатуре комбинацию клавиш Win+R, в открывшемся окне вводите cmd и нажимаете «OK» либо «Enter«.
В Mac OS X откройте Launcher, введите в поиск «Терминал«, запустите его.
В Linux откройте один из терминалов, который Вы используете.
В зависимости от используемого протокола получения почты (POP либо IMAP), выполните одну из приведенных ниже команд:
Для проверки POP-сервера
telnet pop3.beget.com 110
Если все в порядке, должно появиться примерно следуюшее приглашения сервера:
Trying 5.101.158.25...
Connected to pop3.beget.com.
Escape character is '^]'.
+OK POP3 ready
Для проверки IMAP-сервера
telnet imap.beget.com 143
Если все в порядке, должно появится примерно следующее приглашения сервера:
Trying 5.101.158.25...
Connected to imap.beget.com.
Escape character is '^]'.
* OK IMAP4 ready
Для проверки подключения к серверу отправки почты (SMTP-серверу)
telnet smtp.beget.com 2525
Trying 5.101.158.30...
Connected to smtp.beget.com.
Escape character is '^]'.
220 smtp.beget.com
Дополнительная диагностика
В качестве дополнительной диагностики стоит сделать трассировку до наших почтовых серверов, выполнив указанные ниже команды, в зависимости от используемого протокола получения почты (POP либо IMAP):
либо
И трассировку до SMTP-сервера:
В Mac OS X и в Linux
вместо команды tracert нужно будет выполнить traceroute.
Вывод перечисленных команд нужно предоставить нам, написав тикет из Личного кабинете хостинга из раздела «Помощь и поддержка».
Включение всплывающих окон в браузере
Иногда в Личном кабинете при нажатии на иконку в виде конверта, не происходит переключение на почтовый веб-интерфейс. Причина проблемы — отключенное по умолчанию всплывающее окно в браузере.
Рассмотрим решение проблемы в рамках браузеров Google Chrome и Firefox (в остальных браузерах проблема решается аналогично).
Нажимаем на иконку конверта и видим, что ничего не происходит:
В правом верхнем углу окна нажимаем на красную иконку:
Ставим галочку «Всегда показывать всплывающие окна с сайта cp.beget.com» и жмем «Готово«:
Еще раз нажимаем на значок с конвертом и видим, что все работает:
Для браузера Firefox все аналогично:
Удачной работы! Если возникнут вопросы — напишите нам, пожалуйста, тикет из Панели управления аккаунта, раздел «Помощь и поддержка».
Хостинг Beget является популярным ресурсом для хранения сайтов, однако пользователи иногда сталкиваются с проблемами при загрузке CSS/HTML. Ниже рассмотрены наиболее распространенные проблемы и возможные решения.
Ошибка «404 Not Found»
Это означает, что файл CSS/HTML не найден на сервере. Решение:
- Проверьте правильность пути к файлу. Он должен быть указан относительно корневой директории сайта.
- Убедитесь, что файл загружен на сервер. Можно проверить это с помощью файлового менеджера или FTP-клиента.
- Проверьте, что имя файла указано правильно. Некоторые операционные системы чувствительны к регистру букв.
Ошибка «403 Forbidden»
Эта ошибка означает, что доступ к файлу запрещен сервером. Решение:
- Убедитесь, что права доступа к файлу установлены правильно. Обычно должно быть разрешение на чтение и выполнение.
- Проверьте файл .htaccess на случай ограничений доступа.
Ошибка «500 Internal Server Error»
Эта ошибка может возникнуть из-за неправильной конфигурации сервера или ограничений ресурсов. Решение:
- Проверьте файл .htaccess на наличие синтаксических ошибок. Некорректная настройка может привести к этой ошибке.
- Убедитесь, что на сервере достаточно свободных ресурсов (памяти, дискового пространства и т.д.).
Отсутствие обновлений
Если после изменения CSS/HTML изменения не отображаются на сайте, это может быть вызвано кэшированием браузера. Решение:
- Попробуйте очистить кэш браузера или использовать режим инкогнито.
- Если это не помогает, проверьте настройки кэширования на сервере.
Неправильное отображение CSS
Иногда CSS отображается неправильно из-за некорректных настроек файлов или HTML-разметки. Решение:
- Проверьте CSS на наличие синтаксических ошибок или опечаток.
- Проверьте HTML-разметку на наличие неправильных тегов или атрибутов.
- Убедитесь, что ширина блоков или элементов соответствует размерам контейнера.
Вывод
Исправление ошибок при загрузке CSS/HTML на хостинг Beget может быть простым, если следовать базовым шагам по проверке файлов и настроек. Однако в случае серьезных проблем рекомендуется обратиться в службу поддержки хостинга.
Cегодня 21 сентября 2023 в работе у beget.tech проблем мы не обнаружили.
Если сервис недоступен, нажмите на кнопку, чтобы зафиксировать жалобу.
График наглядно показывает динамику сбоев за последние 10 дней.
Если на графике виден сильный отрыв от предыдущих значений, значит сбой носит массовый характер.
Количество жалоб за последние 24 часа на beget.tech
В приложении beget.tech произошел сбой 21 сентября 2023
Сбой в работе beget.tech зафиксирован в нескольких регионах России (данные за последние 24 часа):
Регион — Доля жалоб из всей России в %
- Нижегородская область — 50%
- Москва — 50%
Почему сегодня не работает beget.tech?
Проблемы могут возникнут в результате какой-либо аварии или технического сбоя, проблема также может оказаться временной. Более подробную и актуальную информацию по работе сайта, приложений на Android или iOS можно получить по официальным контактным данным:
Ниже архив самых массовых сбоев в работе beget.tech с 2022г, именно тогда мы начали мониторинг:
В настоящее время архивных записей нет!
Если вы не имеете никакого отношения к сайту, на котором возникла данная ошибка, то вам просто нужно ждать, пока администратор изменит ситуацию и сайт вновь возобновит свою работу. Но в том случае, если вы являетесь владельцем сайта, на котором возникла ошибка 500 «Internal Server Error», постарайтесь вспомнить, какие именно изменения и когда вы вносили до появления ошибки. Если вы ничего не меняли на самом сайте и не вносили изменений в файлы, и не знаете почему возникает ошибка 500 то, скорее всего, это может быть одна из следующих причин:
-
Файл .htaccess используется с недопустимой инструкцией. Чаще всего инструкции php_value и php_flag допускаются только в mod_php, который на хостинге может не использоваться. В CGI или FastCGI такие инструкции показывают ошибку.
-
Медленная работа скрипта. Например, есть ограничения от веб-сервера: если скрипт не активен в течение 60 секунд или зависает, то он завершается под видом ошибки 500.
-
Скрипт требует намного больше памяти, чем это разрешено по тарифному плану. Кроме внутреннего PHP лимита памятина хостинге установлен менеджер, контролирующий используемое скриптами количеством памяти. Если скрипт требует для своей работы слишком много памяти, его активность принудительно завершается менеджером.
-
В панели управления включена несовместимость расширений. Могут быть одновременно включены eaccelerator и APC, или же eaccelerator и XCache, что будет приводить к ошибке Segmentation Fault, а эта ошибка приведет к ошибке 500 «Internal Server Error».
-
Скрипт возвращает HTTP-заголовки, которые веб-сервер не может распознать и не понимает, как их интерпретировать. Если вы установили новый скрипт, проверьте все переменные и протестируйте его работу.
Пример ошибки:
...Invalid command 'DirectoryInex', perhaps mis-spelled or defined by a module not included in the server configuration...
Веб-сервер обращает ваше внимание на то, что правило «DirectoryIndex» прописано с ошибкой или же не включено в настройках самого сервера.
Также обратите внимание на то, чтобы в файле .htaccess не было следующих параметров (их можно просто удалить):
php_value
php_flag
php_admin_flag
Приведем такой пример:
php_flagregister_globalsOn
После изменения оно будет выглядеть так:
# php_flagregister_globalsOn
Если по какой-то причине не помогло все, что вы делали, обратитесь в техподдержку хостера и задайте вопрос, почему возникает ошибка 500 internal server error .
Еще рассмотрим вариант, если вы ошиблись и поместили некорректную инструкцию в файл .htaccess. В файле error.log вы найдете приблизительно такое:
[Wed Apr 8 20:01:58 2018] [alert] [client 217.16.16.16] /home/uXXXXX/ваш_домен.ru/www/.htaccess:
Invalid command 'DrectoryIndex', perhaps mis-spelled or defined by a module not included in the server configuration
Сервер укажет на ошибку, и вам только останется её исправить.
В приведенном примере веб-сервер показал, что команда DrectoryIndex ему не знакома.
И правда, такой инструкции, как DrectoryIndex нет – есть DirectoryIndex. Вся проблема в опечатке.
Если и после выдачи правильных заголовков ошибка 500 не исчезла, необходимо проверить корректность работы скрипта в целом:
> perl -cw script.pl script.pl syntax OK
Более подробную информацию о том, почему ошибка 500 «Internal Server Error» возникает на Вашем сайте, вы можете получить в файле error.log, который включается через панель управления хостингом. Обратите внимание, что ведение error.log включается только на время.
Предложить идею урока:
Заметка для тех, кто имеет хостинг у Beget, имеет там доменную почту и хочет настроить отправку писем через SMTP.
В большинстве случаев случаев SMTP настраивается в WordPress кодом, который мы публиковали в заметке Как подключить smtp для office 365, но для Beget этого оказалось недостаточным, хотя все требования, указанные в документации Beget по настройке почты были соблюдены. Здесь на помощью пришёл хук wp_mail_failed, на котором можно было посмотреть ошибки, возвращаемые сервером SMTP. Для удобства просмотра ошибки был включен дебаг в WordPress (ошибки писались в файл /wp-content/debug.log).
Итак, используемый код:
// Конфигурируем подключение SMTP add_action( 'phpmailer_init', 'beget_smtp_enable' ); function beget_smtp_enable( PHPMailer $phpmailer ) { $phpmailer->isSMTP(); $phpmailer->SMTPAuth = true; $phpmailer->Host = 'smtp.beget.com'; $phpmailer->Port = '2525'; $phpmailer->Username = 'notification@site.com'; $phpmailer->Password = 'a2G&n60A'; $phpmailer->SMTPSecure = 'tls'; $phpmailer->From = 'notification@site.com'; $phpmailer->FromName = get_bloginfo( 'name' ); } add_action( 'wp_mail_failed', [ $this, 'mail_failed' ] ); function mail_failed( $wp_error ) { error_log( print_r( $wp_error, true ) ); }
В нужном месте использовал отправку письма:
wp_mail( 'my-mail@gmail.com', 'Тестовое письмо', 'Это тестовое письмо!' );
В итоге в переменной $wp_error была следующая информация:
WP_Error Object ( [errors] => Array ( [wp_mail_failed] => Array ( [0] => The following From address failed: my-mail@gmail.com : MAIL FROM command failed,LTD BeGet: MAIL FROM must match AUTHENTICATED USER (MAIL FROM: 'my-mail@gmail.com' != AUTH LOGIN: 'notification@site.com') ,550,SMTP server error: MAIL FROM command failed Detail: LTD BeGet: MAIL FROM must match AUTHENTICATED USER (MAIL FROM: 'my-mail@gmail.com' != AUTH LOGIN: 'notification@site.com') SMTP code: 550 ) ) [error_data] => Array ( [wp_mail_failed] => Array ( [to] => Array ( [0] => my-mail@gmail.com ) [subject] => Тестовое письмо [message] => Это тестовое письмо! [headers] => Array() [attachments] => Array() [phpmailer_exception_code] => 2 ) ) [additional_data:protected] => Array() )
Ошибка говорит, что почта пользователя SMPT не совпадает с указанной в параметре From
, хотя в коде она совпадает. Изучая код класса PHPMailer, можно встретить параметр Sender
. Дополнив код им, проблема была решена.
Рабочий вариант кода
// Конфигурируем подключение SMTP add_action( 'phpmailer_init', 'beget_smtp_enable' ); function beget_smtp_enable( PHPMailer $phpmailer ) { $phpmailer->isSMTP(); $phpmailer->SMTPAuth = true; $phpmailer->Host = 'smtp.beget.com'; $phpmailer->Port = '2525'; $phpmailer->Username = 'notification@site.com'; $phpmailer->Password = 'a2G&n60A'; $phpmailer->SMTPSecure = 'tls'; $phpmailer->From = 'notification@site.com'; $phpmailer->FromName = get_bloginfo( 'name' ); $phpmailer->Sender = 'notification@site.com'; }
С такими настройками почта на gmail и другие приходят без проблем.
Кстати, если из кода удалить параметры From
и FromName
, то gmail пометит ваше письмо следующим образом:
Поэтому указывайте все параметры, чтобы не было проблем.