При необходимости рассылки почты с какого либо сервера внутри Amazon Elastic Compute Cloud Вы обязательно столкнетесь с проблемой того что большая часть smtp-серверов отказываются принимать сообщения с ip которые относятся к сети Amazon EC2 – и их можно понять. Amazon EC2 – идеальная среда-инкубатор не только для креативных стартапов, но и для рассылки спама – поэтому вся сеть себя уже скомпрометировала в определенном смысле. Поэтому даже если вы поставить на instance внутри Amazon EC2 почтовый сервер почта с него уходить все равно не будет, потому что никто не будет ее принимать – выход – сделать relay на какой либо платный сервис вроде authsmtp.com, dnsmadeeasy.com, easydns.com. Второй вариант ( возможно более сложный ) состоит в том чтобы арендовать классический хостинг и сконфигурировать стоящий там smtp сервер так чтобы он мог принимать сообщения с _ваших_ серверов amazon ( если открыть доступ для всей сети Amazon EC2 ваш smtp сервер станет отличным relay для спам проектов внутри Amazon ) – я рекомендую внутри Amazon EC2 выделить сервер с elastic IP на котором поставить Postfix, который в свою очередь будет настроен так чтобы быть relay на Ваш smtp сервер у провайдера.
Далее – как проверить соединение с почтовым сервером и как настроить postfix на instance EC2
Проверить возможность послать почту на stmp сервер из Amazon EC2 лучше всего с помощью telnet. Допустим, у Вас есть smtp.сервер.com и там есть аккаунт юзер@сервер.com с паролем 12345678 – тогда чтобы проверить запускаем в терминал
[root@domU-**** dir]# telnet smtp.сервер.com 25
Терминал нам отвечает
Trying *.*.*.*…
Connected to smtp.сервер.com (*.*.*.*).
Escape character is ‘^]’.
220 сервер.com ESMTP
пишем команду EHLO ( HELO )
EHLO сервер.com
250-hmailserver
250-SIZE
250 AUTH LOGIN
Выполняем авторизацию ( здесь тонкий момент – все данные должны быть Base64 encoded – то есть вместо user@user.com вводим это в закодированной форме – “dXNlckB1c2VyLmNvbQ==”, то же самое с паролем – для облегчения жизни можно воспользоваться вот этим Base64 перекодировщиком – делать нужно Encode ![]()
AUTH LOGIN
334 VXNlcm5hbWU6
На самом деле это приглашение для ввода имени юзера – VXNlcm5hbWU6 это “Username:” в base64 ( см. decode ). Вводим имя юзера ( user@user.com в base64) :
dXNlckB1c2VyLmNvbQ==
334 UGFzc3dvcmQ6
Это на самом деле “login:” – вводим пароль ( у нас же 12345678 ) в base64
MTIzNDU2Nzg=
235 authenticated.
Далее заполняем поля в письме
MAIL FROM: user@bokov.net
250 OK
RCPT TO: abokov@rol.ru
250 OK
команда DATA – вводим тело сообщения
DATA
354 OK, send.
Вводим текст ( конец ввода – это “.” и enter в начале строки )
Subject: Hello world!
From : user@bokov.net
To : Alexey Bokov <abokov@rol.ru>
Dude, Futurama rule!
.
250 Queued (47.516 seconds)
Закрываем сессию
quit
221 goodbye
Connection closed by foreign host.
Кстати? если в DATA не указать from, то некоторые почтовые сервисы ( gmail, yandex ) в поле Sender будут писать “nobody”.
Ниже скриншот telnet сессии на smtp сервере – приватные данные скрыты, то что вводил пользователь отмечено галочкой.

Примеры настройки postfix внутри Amazon EC2 : A rock-solid setup for sending SMTP mail from your EC2 web server, Mail sending from EC2 using Postfix
alexey bokov says:
письмо в саппорт (яндекса|гагла|апорта) решает проблему радикальным образом – ворованный контент карму никому не улучшает
А что с продамавто чего кто то таскает?
Reply
September 29, 2008, 10:31 amTony says:
Спасибо, полезный материал. Добавил ваш блог в закладки.
Reply
September 30, 2008, 7:27 ambers666 says:
“Проверить возможность послать почту на stmp сервер из Amazon EC2 лучше всего с помощью telnet.”
swaks лучше для тестирования SMTP из консоли. Авторизацию он тоже поддерживает.
Reply
June 14, 2010, 2:39 amstorinka says:
а вообще есть у кого-то опыт использования clouds на амазоне в качестве обычного хостинга? ну десяток сйтов например, блог там, несколько небольших проектов и т.п.
интересно как оно
Reply
alexey bokov Reply:
September 13th, 2010 at 7:26 pm
оно нормально, ничем особенным от dedicated linux на базе виртуалок не отличается. например moodbox.com там целиком хостится.
по поводу цены – микроинстансы примерно стоят 15$ в месяц, но там надо будет платить за дисковое пространство. Плюс не стоит забывать что скоро трафик в EC2 также будет оплачиваться. Вообще если приложение ( веб-сайт ) не будет масштабируемым в принципе смысла особого в хостинге на EC2 нет, если приложение может гибко масштабироваться и работать когда нет нагрузки в кластере из 2-3 серверов, а когда есть нагрузка расширять кластер до 20-30, то имеет смысл связываться с EC2.
Reply