• 阿里云/腾讯云默认禁止使用25端口发送邮件解决方法


      出于安全考虑,阿里云腾讯云等服务器默认封禁TCP25端口出方向的访问流量,所以用户无法在阿里云或腾讯云上的云服务器通过TCP25端口连接外部地址。用户无法通过TCP25端口连接第三方邮件服务商的SMTP服务器对外部发送邮件。这种情况下我们通常可以使用一下两种方案来解决。

    一、申请解封25端口

    阿里云以及腾讯云解封教程可参考以下链接

    阿里云阿里云服务器25端口解封教程

    腾讯云:腾讯云解封25端口教程

    (经实测腾讯云解封很方便,阿里云可能会申请不通过)

    腾讯云

    阿里云 

    二、改用465端口

    在使用465端口的SSL安全链接方案后,千万不要使用【网易品牌】的免费邮箱(如:163,126,yeah.net等。不过听说网易收费邮箱能正常收发邮件),否则你发送的邮件会当作是垃圾邮件禁止发送。

    网易邮件发送问题链接企业退信的常见问题?-163邮箱常见问题

    我们这里使用的是新浪邮箱进行465端口测试。使用之前需要在邮箱设置中开发客户端授权码

    示例代码:

    我这里使用的hutool邮件工具类进行邮件发送。官网链接:Hutool参考文档

            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>5.8.0.M4</version>
            </dependency>
            <dependency>
                <groupId>com.sun.mail</groupId>
                <artifactId>javax.mail</artifactId>
                <version>1.6.2</version>
            </dependency>

    mail.setting (465端口)

    # 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
    host = smtp.sina.com
    # 邮件服务器的SMTP端口,默认是25端口
    port = 465
    # 发件人(必须正确,否则发送失败)
    from = XXX@sina.com
    # 用户名,必须要设置成你自己使用邮箱的名称,否则会报错,权限认证失败  535错误
    user = XXX@sina.com
    # 密码 此处注意,这里是授权码
    pass = xxxxxx(对应的邮箱客户端授权码)
    # 使用SSL安全连接
    sslEnable = true
    # 指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字
    socketFactoryClass = javax.net.ssl.SSLSocketFactory
    # 如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true
    socketFactoryFallback = false
    # 指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口456
    socketFactoryPort = 465
    auth = true

    mail.setting(25端口)

    host = smtp.yeah.net
    # 邮件服务器的SMTP端口,可选,默认25
    port = 25
    # 发件人(必须正确,否则发送失败)
    from = XXXXX@yeah.net
    # 用户名,默认为发件人邮箱前缀
    user = XXXXXX
    # 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助)
    pass = XXXXX

    使用hutool工具类发送邮件非常简单,调用如下api

     MailUtil.send("邮件地址", "邮件主题", "邮件内容", 是否是html);

    测试

  • 相关阅读:
    子组件 调用父组件方法
    加载进度条
    form 验证 自定义
    关于读取本地text文件,自动被添加空格的问题
    关于form表单中button按钮自动提交问题
    正态分布折线图/直方图相关方法以及概念
    大于0的数字(包含小数和整数)的正则表达式
    bigdecimal类型除法问题
    添加数据库的Maven依赖(SqlServer,Oracle)
    JS中null与undefined的区别
  • 原文地址:https://www.cnblogs.com/sueyyyy/p/16326691.html
Copyright © 2020-2023  润新知