解决在云服务器上无法使用QQ邮箱发送邮件的问题

最近在做测试demo的时候发现,在本地可以使用qq邮箱的服务来进行邮件的发送,但是把项目部署到云服务器上就没办法发送邮件,并且报错是连接超时:

向xxxxx@qq.com用户发送绑定邮箱验证码异常:Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.qq.com, 25; timeout -1;
  nested exception is:
	java.net.ConnectException: 连接超时 (Connection timed out). Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.qq.com, 25; timeout -1;
  nested exception is:
	java.net.ConnectException: 连接超时 (Connection timed out)

但是在本地测试一直可以正常使用,查询资料后得知:如果在yaml配置文件中没有明确指出使用邮箱服务的端口,那么qq邮箱的默认端口为  25,但是阿里云服务器这个端口是没有开放的,查询资料后可以向阿里申请开放25端口:但是下面这些步骤一看就非常麻烦,所以我们选择另一个方案

阿里云服务器默认禁用了TCP 25端口的出方向访问流量,这是出于安全考虑,旨在防止服务器被滥用发送垃圾邮件。尽管如此,如果你有合法的业务需求使用25端口,阿里云提供了官方途径来申请开放此端口。

你可以通过以下步骤尝试申请开放25端口:

1、提交工单申请:登录阿里云官网,进入控制台,找到相关的云服务器实例,然后提交一个客户服务工单。在工单中详细说明你需要使用25端口的具体原因、用途以及你的服务器实例ID等必要信息。强调你的使用场景是合法且符合规定的服务,比如企业内部邮件服务等。

2、提供额外材料:根据阿里云的要求,可能需要你提供额外的证明材料或说明,以证实你的需求合理且不会造成安全风险或违反服务条款。

3、等待审核:提交申请后,阿里云的客服或技术团队会对你的申请进行审核。审核过程可能需要一定时间,具体时长视情况而定。

4、结果通知与配置:如果申请被批准,阿里云会告知你,并可能指导你进行必要的配置。之后,你就可以在你的阿里云服务器上使用25端口了。

通过查询资料发现,QQ邮箱还有一个发送邮件的端口,那就是 465,在yaml配置文件中修改使用qq邮箱服务的端口号:

  mail:
    # 配置 SMTP 服务器地址
    host: smtp.qq.com
    # 邮箱的账号
    username: 你的qq@qq.com
    # 邮箱授权码
    password: 你的授权码
    # 邮件服务协议
    protocol: smtp
    properties:
      mail:
        smtp:
          socketFactory:
            # 开放指定的端口,465
            port: 465
            class: javax.net.ssl.SSLSocketFactory
            fallback: false
          auth: true
          starttls:
            enable: true
            required: true

然后再在阿里云服务器的安全组开放这个  465 端口,重新部署后端服务,发现就可以正常使用啦!!!

补充资料:

为了使用QQ邮箱,特别是当你需要通过SMTP发送邮件或使用IMAP/POP3接收邮件时,你需要确保你的云服务器上的相应端口是开放的。以下是QQ邮箱所使用的端口:

  • SMTP(发送邮件):

    • SSL加密连接:端口号465
    • STARTTLS(先进行明文连接再升级到TLS加密):端口号587
  • IMAP(接收邮件):

    • 使用SSL加密:端口号993
  • POP3(接收邮件):

    • 使用SSL加密:端口号995

如果你的云服务器上运行着邮件客户端或者任何需要通过QQ邮箱服务器发送/接收邮件的应用,你需要在服务器的安全组或者防火墙设置中开放上述端口。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值