Назад | Перейти на главную страницу

Тайм-аут подключения Google SMTP

Как мне узнать, почему Gmail, по-видимому, отказывается подключаться из моего определенного диапазона IP-адресов?

Я получаю сообщение об ошибке «Тайм-аут соединения» при попытке отправить электронное письмо через smtp.gmail.com с помощью средств электронной почты в Django, запущенном на компьютере Linux в сервисе Amazon EC2.

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

~$ echo -e "Subject:test subject\ntest body\n" | sendmail -v myuser@mydomain
Loading lookup modules from /usr/lib/exim/4.72-1.fc13/lookups
Loaded 0 lookup modules
LOG: MAIN
 <= app@domain U=app P=local S=443
Loading lookup modules from
/usr/lib/exim/4.72-1.fc13/lookups
Loaded 0 lookup modules
delivering 1ReChV-0001Hx-Ss
Connecting to aspmx.l.google.com [74.125.93.26]:25 ... failed:
Connection timed out (timeout=5m)
LOG: MAIN
 aspmx.l.google.com [74.125.93.26] Connection timed out
Connecting to ALT1.aspmx.l.google.com [173.194.66.26]:25 ... connected

Это происходит только из облака Amazon. Я могу подключиться к smtp.gmail.com со своего локального хоста, используя те же учетные данные, и отправить электронное письмо без проблем. И я могу легко пинговать smtp.gmail.com отовсюду, так что это не похоже на маршрутизацию или проблему с брандмауэром.

Google не указывает никаких проблем на их панель состояния.

Рассматриваемый сервер отправляет очень небольшие объемы электронной почты (10-20 в день), поэтому я был бы удивлен, если бы он был отмечен как спам.

Я обнаружил, что Google заблокировал учетные записи / IP-адреса / ActiveSync и т. Д., Когда их автоматизированные системы защиты подозревают подозрительную активность.

т.е. пользователь, использующий Outlook с POP / SMTP, внезапно не может войти в Outlook.

Чтобы «разблокировать» IP-адрес, вы можете войти в учетную запись GMail с этого IP-адреса, используя веб-сайт gmail.com, и учетная запись обычно становится доступной через несколько минут.

В противном случае служба технической поддержки Google однажды направила меня на https://www.google.com/accounts/UnlockCaptcha или http://www.google.com/a/your_domain.com/UnlockCaptcha для учетной записи, которую ActiveSync заблокировал, и ничто не сможет ее вернуть.

Смотрите здесь для получения дополнительной информации: http://www.gmailhelp.com/2009/10/unlocking-googles-gmail-captcha/

В большинстве случаев я вижу похожие проблемы с почтовыми серверами (и из представленных журналов я понимаю, что вы подключаетесь к ALT1.aspmx.l.google.com, но почта не отправляется), отключение масштабирования окна TCP помогает обойти (не решить) проблему проблема.

Я не знаю, какую ОС вы используете на EC2, но если это Linux, вы можете попробовать добавить:

net.ipv4.tcp_rmem = 4096 87380 174760
net.ipv4.tcp_wmem = 4096 16384 131072
net.ipv4.tcp_window_scaling = 0

в вашем /etc/sysctl.conf и затем запустите sysctl -p.

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

Обычно, если вы хотите отправить почту, вам нужно отправить ее на настоящий почтовый сервер, который будет нести ответственность за доставку почты по назначению. Amazon предлагает такие услуги с реальными почтовыми серверами, размещенными на статических IP-адресах.

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