Вопрос или проблема
Я установил hMailServer и настроил его так, чтобы он работал на моем компьютере. Я не планирую оставлять его работающим долго с отключенным файрволом, потому что я недостаточно разбираюсь в интернет-безопасности, чтобы сделать это.
Я подключил его к своему домену и создал DNS-записи.
- Запись “A” с “mail” в качестве хоста и моим публичным IP-адресом в качестве значения.
- Запись “MX” с “@” в качестве хоста и “mail.MY_DOMAIN” в качестве значения.
Я смог подключить созданный мной аккаунт электронной почты на hMailServer к Thunderbird, и я получаю электронные письма, которые отправляются локально внутри моей сети с учетными записями внутри hMailServer, а также могу их отправлять.
Но для моего проекта мне нужно иметь возможность отправлять и получать внешние электронные письма за пределами моей сети.
Когда я пытаюсь отправить электронное письмо с “admin@MY_DOMAIN”, мне приходит сообщение от mailer-daemon с сообщением:
Следующий(ие) получатель(и) недоступен(ы):
[email protected] Тип ошибки: SMTP Удаленный сервер
(публичный_IP_адрес_здесь) выдал ошибку. hMailServer отправил: .
Удаленный сервер ответил: 550 Извините, мы не принимаем почту от хостов
с динамическим IP или общими DNS PTR-записями. Пожалуйстa, получите настраиваемое
обратное DNS-имя от вашего провайдера для вашего хоста
my_public_ip_address_here или свяжитесь с [email protected] в случае
ошибки.
Я понимаю, почему я не могу ОТПРАВИТЬ электронные письма — это потому, что мне нужна PTR-запись, зарегистрированная у моего провайдера. (исправьте меня, если я ошибаюсь)
Но когда я пытаюсь отправить электронные письма с обычной учетной записи электронной почты, такой как “[email protected]“, на мой “admin@MY_DOMAIN”, это не срабатывает, через час я получаю сообщение от mailer_daemon:
“время повторной попытки истекло”
Вот что я пытался сделать, чтобы исправить проблему с получением электронных писем:
- отключение файрвола при отправке электронной почты
- проверка журналов (они были совершенно пустыми)
- открытие портов 110, 587 и 465, я пытался открыть порт 25, но мой провайдер не позволяет этого по какой-то причине
Ответ или решение
Ответ на ваш вопрос о проблемах с отправкой и получением электронной почты через hMailServer может быть многогранным, поэтому давайте рассмотрим основные аспекты, которые могут вызывать эти проблемы.
1. Проблемы с отправкой электронной почты
Как вы уже заметили, ошибка SMTP 550 чаще всего связана с тем, что ваш ISP (интернет-провайдер) использует динамический IP-адрес, который не принимает почту от серверов с динамическими IP-адресами. Чтобы решить эту проблему, вам необходимо:
- Получить статический IP-адрес от вашего провайдера. Это позволит вам избежать ошибок, связанных с динамическими IP.
- Настроить PTR-запись (обратная DNS-запись) для вашего IP-адреса. Это важно, так как многие почтовые серверы проверяют, соответствует ли IP-адрес имени хоста. Запросите у вашего провайдера настройку PTR-записи, которая будет указывать на ваше доменное имя (например, mail.MY_DOMAIN).
2. Проблемы с получением электронной почты
Если вы не можете получать сообщения, то это также может быть связано с несколькими факторами:
- Проблемы с MX-записью: Убедитесь, что ваша MX-запись настроена правильно и указывает на
mail.MY_DOMAIN
. Для этого используйте инструменты проверки DNS, чтобы убедиться, что запись корректно разрешается и соответствует вашему серверу. - Проблемы с открытием портов: Поскольку ваш ISP блокирует порт 25, что является стандартным портом для SMTP, вы не сможете получать (и отправлять) почту через стандартные протоколы. Рассмотрите возможность использования альтернативного порта для SMTP (например, 587) и настройте ваши почтовые клиентов для отправки почты через этот порт. Убедитесь, что в настройках hMailServer вы разрешили использование этих портов.
3. Проверьте настройки вашего брандмауэра
Вы упомянули, что отключали брандмауэр. Однако, чтобы не быть уязвимым, убедитесь, что порты, используемые вашим почтовым сервером (например, 587, 110 и 465), открыты для внешних соединений. Вместо того чтобы полностью отключать брандмауэр, лучше создать правила, которые разрешают трафик на эти порты.
4. Логи и отладка
Поскольку вы не видите ничего в логах, это может указывать на проблемы с маршрутизацией. Для дальнейшей диагностики рекомендуется:
- Включить подробные логи в hMailServer. Это поможет вам увидеть, проходят ли запросы через ваш сервер и какие ошибки происходят.
- Проверяйте наличие записей в логах вашего роутера и брандмауэра на предмет блокировки трафика.
Заключение
Итак, для решения вашей проблемы с hMailServer:
- Получите статический IP-адрес и настройте PTR-запись.
- Убедитесь в правильной настройке MX-записей и откройте необходимые порты на брандмауэре.
- Включите более детализированные логи и внимательно их изучите.
Если после выполнения всех этих шагов проблемы останутся, возможно, стоит обратить внимание на используемые почтовые клиенты и их настройку, а также обратиться за помощью к вашему интернет-провайдеру.