docker - 从 docker 容器、使用 NGINX 和反向代理的主机发送邮件
问题描述
我已经在一个云实例中配置了 NGINX,它带有一个到 docker 容器的反向代理。该应用程序使用 nodemailer - Gmail SMTP 发送电子邮件,但在 docker 容器中不起作用。
我猜:
- 缺少端口配置
- 需要邮件代理什么的...
我尝试在 Dockerfile 中公开端口 587 和 465,但没有成功(不确定这是否正确或是否需要其他内容)。
其他注意事项:
- 容器使用 Koa 运行它自己的服务器。
- 云实例将托管更多可以发送邮件的容器。每个都有自己的域和反向代理配置。
非常感谢您的帮助!
更新
在容器中运行应用程序:Gmail 给出 534 响应代码(无效登录错误) 在容器外运行应用程序仍然可以正常工作。
解决方案
Gmail 身份验证在容器中运行应用程序时出现登录错误。正确的方法是通过 OAuth2 配置它,它可以完美运行。
这是我发现对我有帮助的教程:https ://alexb72.medium.com/how-to-send-emails-using-a-nodemailer-gmail-and-oauth2-fe19d66451f9
感谢 timsmelik 的帮助。
推荐阅读
- openrefine - OpenRefine - 错误提示我需要使用 API 密钥来验证对 Google Maps Platform API 的每个请求
- python-3.x - 根据关键字创建列并检查它是否存在
- apache-kafka - 在 kafka-streams 本地存储 (rocksdb) 中存储批次唯一 ID
- javascript - Css 和 js 图
- linux - mq_receive 调用空 POSIX 消息队列解除阻塞的顺序
- bash - 如何在shell的if语句中使用grep
- git - 为什么 git log --diff-filter=A 不显示存储库中文件的最早版本?
- node.js - 在单个域的 cpanel 中托管多个反应应用程序
- r - 来自 OpenStreetMap 地图的 autoplot() 被 geom_point() 图层掩盖
- laravel - Laravel 6 和引导程序