Русский English Тэги View Sergey Zolotaryov's profile on LinkedIn Вход
Непростая это вещь - отсылка почты
Постоянная ссылка 25-03-2008 anydoby java

Никогда бы не подумал, что почту слать так сложно. Наверное в первобытно-общинные времена это было проще, но сейчас, благодаря спаммерам всех размеров и цветов (а также уровня квалификации), это стало действительно непростым делом. Попробуй, например, докажи, что почту шлешь именно ты, а не кто-либо другой.

На днях столкнулся с вот такой проблемой:


com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 <some@gmail.com>... 
Relaying denied. IP name possibly forged [мой IP]

Пытался слать почту от имени одного из моих проектов. Объясню подробнее. На одном физическом IP на моем сервере зарегистрировано несколько доменов, среди них, например, anydoby.com. Мой блог прекрасно шлет письма, коннектясь на anydoby.com и используя в поле from noreply@anydoby.com (такого ящика нету в природе, это для спам фильтров).

А теперь фокус - я добавил по просьбе одного товарища еще один домен и пытаюсь слать письмо, указывая smtp хост anotherdomain.com и в поле from указываю noreply@anotherdomain.com. Получается ошибка, указанная выше.

Оказывается, так делать нельзя, потому что мой IP резолвится как anydoby.com (хотя anotherdomain.com тоже ссылается на этот IP, но он второй в списке DNS), а smtp хост, который шлет письмо - anotherdomain.com, получается, что он обманщик :) и его письма не пускаются дальше по цепочке почтовых серверов.

Решение получилось довольно простое и некрасивое - письма, которые шлет его приложение, шлются через anydoby.com и from noreply@anydoby.com - так никто не ругается и все счастливы.

Добавить комментарий

Предыдущая статья Как правильно парсить даты Следующая статья Connection refused от MySQL