Это могут быть настройки вашего порта, 8100 не является обычным портом, который должен быть открыт на производственном сервере. Чаще всего можно увидеть обычный HTTP-трафик на порту 80 и HTTPS-трафик на порту 443.
Если возможно открыть порт 8100 на удаленном сервере, вы должны сделать это, чтобы проверить, доступен ли ваш сервер. в этом порту. Это может помочь добавить простую конечную точку проверки состояния, такую как
app.get ('/status', (req, res) => {
res.json({ status: 'ok' })
})
, а затем подтвердить, что вы можете получить к ней доступ, попробовав http://[yourdomain]:8100/status в браузере.
Я настоятельно рекомендуюсчитывание номера порта из переменных среды (например, node.env.PORT
), чтобы вы могли легко обслуживать локально на 8100, но затем переключаться на 80 и / или 443. при развертывании на удаленном сервере.
После подтверждения того, что выможет найти маршрут GET / status, тогда любая другая проблема, с которой вы столкнетесь, будет связана с настройкой вашего nodemailer.
Кроме того, помните, что использование такой библиотеки, как nodemailer, может привести к тому, что ваша почта попадет в папку спама,Платные службы, такие как Sendgrid и Mailgun, прилагают все усилия, чтобы гарантировать подлинность отправителей электронной почты, поэтому отправляемые с их помощью электронные письма с большей вероятностью будут доставляться не как спам.
Если вы собираетесь быть единственным получателем этой почты, и можете найти его в папке со спамом, убедитесь, что пометили его как не спам, и попробуйте сообщить входящим сообщениям, что вы доверяете электронным письмам с этого адреса.
Удачи, надеюсь, это поможет :)