spring-boot - 我无法从 OVH 托管 Kubernetes 集群访问 smtp.gmail.com 587
问题描述
我Spring Mail service
在Spring-boot
应用程序中使用向我的用户发送邮件。
此配置在我的本地主机上 完美运行:
## Mail configuration
mail:
host: smtp.gmail.com
port: 587
username: myemail@gmail.com
password: app_password
protocol: smtp
tls: true
properties.mail.smtp:
auth: true
starttls.enable: true
ssl.trust: smtp.gmail.com
但是,当我在 OVH 托管 Kubernetes 集群上部署应用程序时,它无法成功访问邮件服务器。它失败了connection timeout error
。
当我在我的本地主机上尝试telnet smtp.gmail.com 587
时,它可以工作,
但这些是从集群中的容器进行的连接测试的结果:
ping smtp.gmail.com ===> Works
telnet smtp.gmail.com 587
Trying xx.xxx.xxx.109...
Connection failed: Connection timed out
Trying xxxx:xxxx:xxxx:xxx::6c...
telnet: Unable to connect to remote host: Cannot assign requested address
这让我认为这是一个隐式防火墙规则,它阻止来自集群的出站流量。
但是有人告诉我,他对同一地区的同一集群提供者使用相同的参数并且它正在工作。
与他的唯一区别是,我没有使用 Gmail 地址密码并允许安全性较低的应用程序Google 设置,而是使用google 推荐的应用程序密码。
您是否认为 Gmail 会在不通知我的情况下阻止来自服务器的传入请求?
这与我使用应用程序密码有关吗?(就像本地主机上的魅力一样)
这是一个与ovh相关的问题吗?
谢谢你的帮助。
解决方案
默认情况下,OVH 在其公共云产品上可能会阻止传出的 SMTP / SUBMISSION 端口。我的两个项目就是这种情况。
您可能需要联系他们以让他们允许您的公共云项目访问 SMTP 端口。
推荐阅读
- c# - C# UWP 使用 KeyDown 仅更改一次图像
- c++ - 为什么当我反转 LinkList 时出现分段错误(核心转储)?
- gnuradio - 使用 RTL-SDR 加密狗的 Z-Wave 的 GNURadio Companion Blocks
- ruby-on-rails - Rails ActiveRecord mysql2 适配器,默认使用 PreparedStatement
- python-3.x - 具有异步函数的 Python 多处理
- python - 如何使用python将数据放入csv文件?
- android - 如何在滑动回收站视图项目时创建执行操作。就像在 gmail 应用程序中滑动删除选项一样。但不应删除回收站视图项
- java - 在调用 getter 方法时获取 NullPointerException
- ms-word - officejs:无法将超链接文本的下划线属性设置为 false
- c - 拆分 char[] 并将值存储在不同的数组中 C