Время ожидания Nodemailer для Gmail

У меня проблемы с отправкой писем на мою учетную запись Gmail. Я получаю сообщение об ошибке тайм-аута. И это меня озадачивает, потому что я в основном скопировал настройки из рабочего проекта, который делал раньше. Но потом я попробовал рабочий проект, и он выдает ту же ошибку. Насколько я знаю, порт Nodemailer по умолчанию для Gmail — 465, который использует SSL, поэтому он включен. Я пробовал три разные учетные записи Gmail, две из них имеют 2FA, одна из них настроила XOAuth, а в третьей я включил менее безопасные приложения. Все провалилось с той же ошибкой.

Вот фрагмент кода, где, как мне кажется, проблема:

smtpConfig =
  service: "Gmail"
  connectionTimeout : "7000" #waiting for 60s is annoying
  greetingTimeout : "7000"
#  auth:
#    XOAuth2:
#      user: receiverEmail
##      pass: appSpecificPassword
#      clientId: myClientId
#      clientSecret: itIsMySecret
#      refreshToken: myRefreshToken
  auth:
    user: receiverEmail
    pass: appSpecificPassword
  secure: true # use SSL
  debug: true

Позже я поместил его в функцию. В промежутках мне пришлось собрать конверт вместе.

smtpTrans = nodemailer.createTransport(smtpTransport(smtpConfig), ->
   #Setup configs are on top, because we need to config before we use the POST method according to express
)

Этот даже не срабатывает, когда вы помещаете туда console.log.

На Nodemailers Github я нашел следующее, чтобы попробовать в терминале:

openssl s_client -crlf -connect smtp.gmail.com:465

который должен дать хороший ответ 200, но это не так, это дает мне тайм-аут. Каждый другой доступный порт ответил тем же. Я попросил друга попробовать его на своем компьютере, и он отлично работает. Итак, я снова ищу проблему на своем компьютере - может быть, в моей операционной системе, версии узла, мы настраиваем конфиги по-разному, и я не заметил? У меня заканчиваются варианты, поэтому я ищу помощи здесь.

Мой брандмауэр отключен, в этом случае нет проблем с настройкой дополнительных портов.


person LSR    schedule 27.02.2017    source источник


Ответы (1)


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

Если вы когда-нибудь столкнетесь с той же проблемой, вот несколько советов по отладке.

  1. Проверка на наличие вирусов. В процессе тщательного изучения Интернета я обнаружил, что вирусы могут блокировать порты. Так что если у вас нет сканера, скачайте его.

  2. Проверьте брандмауэр. Наиболее распространенная проблема. Я проверил свой брандмауэр и заметил, что он отключен.

  3. Используйте сетевые утилиты: выполните сканирование портов и попробуйте пропинговать IP-адреса.

  4. Проверьте свой адрес электронной почты с помощью локального почтового клиента и попробуйте отправить электронное письмо. Проверьте конфигурацию входящего сервера и исходящего сервера.

  5. Проверьте свою сеть. Узнайте у своего провайдера, не блокирует ли он провайдеров электронной почты. Обновите настройки сети.

  6. Проверьте свой аккаунт Google, не блокирует ли он ваш IP-адрес. Случается часто, если вы отправляете кучу писем, помеченных как спам, или если ваша учетная запись была взломана и использована кем-то для рассылки спама.

person LSR    schedule 27.02.2017