美文网首页
阿里云不能发送邮箱的问题

阿里云不能发送邮箱的问题

作者: 疯狂的冰块 | 来源:发表于2017-06-26 22:21 被阅读296次

我使用的阿里云的ecs服务器,网络是专有网络,邮箱端口是25,我使用javaMail始终发,不出去邮箱。纠结了好长时间,才发现阿里的专有网络把25端口给禁止了,所以只有用ssl的方式,也就是465。

代码如下:

    private static void createEmail(String myAccount, String receiveAccount, String code) {
        // 1. 创建参数配置, 用于连接邮件服务器的参数配置
        Properties props = new Properties();                    // 参数配置
        props.setProperty("mail.host", myEmailSMTPHost);        // 发件人的邮箱的 SMTP 服务器地址
        props.setProperty("mail.transport.protocol", "smtp");   // 使用的协议(JavaMail规范要求)
        props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
        props.setProperty("mail.smtp.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.port", "465");            // 请求认证,参数名称与具体实现有关
        props.setProperty("mail.smtp.socketFactory.port", "465");            // 请求认证,参数名称与具体实现有关
        props.setProperty("mail.smtp.auth", "true");            // 请求认证,参数名称与具体实现有关

        // 2. 根据配置创建会话对象, 用于和邮件服务器交互
        Session session = Session.getDefaultInstance(props);
        session.setDebug(true);                                 // 设置为debug模式, 可以查看详细的发送 log

        // 3. 创建一封邮件
        MimeMessage message = null;
        try {
            message = createMimeMessage(session, myAccount, receiveAccount, code);
        } catch (Exception e) {
            e.printStackTrace();
        }

        // 4. 根据 Session 获取邮件传输对象
        Transport transport = null;
        try {
            transport = session.getTransport();
        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        }


        try {
            // 5. 使用 邮箱账号 和 密码 连接邮件服务器
            //    这里认证的邮箱必须与 message 中的发件人邮箱一致,否则报错
            transport.connect(myAccount, myEmailPassword);
            // 6. 发送邮件, 发到所有的收件地址, message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
            transport.sendMessage(message, message.getAllRecipients());
        } catch (MessagingException e) {
            e.printStackTrace();
        }

        // 7. 关闭连接
        try {
            transport.close();
        } catch (MessagingException e) {
            e.printStackTrace();
        }

    }

相关文章

  • 阿里云不能发送邮箱的问题

    我使用的阿里云的ecs服务器,网络是专有网络,邮箱端口是25,我使用javaMail始终发,不出去邮箱。纠结了好长...

  • 阿里云部署zabbix服务配置邮件发送

    阿里云由于安全问题,禁用了25端口,无法对外发送邮件登录QQ邮箱设置–》账号–》POP3/IMAP/SMTP/Ex...

  • 使用telnet命令模拟邮件发送

    1、注册邮箱,使用telnet命令模拟邮件发送 注册的账号是新浪和阿里云的邮箱账号分别是:happykala@al...

  • 阿里云搭建邮箱服务无法发送邮件,可能是端口问题

    阿里邮箱无法连接邮件服务器发送邮件,有可能是因为端口的问题,为了安全和邮箱的滥用,阿里默认封禁25端口,如需使用,...

  • 阿里云ECS命令行发送邮件配置

    知识点 阿里云企业邮箱smtp地址以及配置 阿里云ECS如何在命令行发送邮件 如何使用mailx配置ssl安全证书...

  • Mail发送邮件

    本来是想用阿里云服务器测试发送邮箱,可是由于阿里云端口等问题,无奈只好在本地搭建虚拟机进行测试。本文是通过163邮...

  • url

    ==云平台== 阿里MYSQL ---- 阿里大学 ---- 阿里云 ---- 码云 ---- 139邮箱 ---...

  • Gitlab邮箱设置

    用阿里云企业邮箱作为Gitlab的邮箱SMTP服务。 申请阿里云企业邮箱 首先,需要在阿里云的控制台申请一个企业邮...

  • kindle邮件推送2019-05-30

    kindle邮箱推送 很简单四步: 接受邮箱(云kindle邮箱) 发送邮箱的白名单(信任的发送者,自己的QQ邮箱...

  • IMAP/SMTP邮箱收发地址记录

    腾讯企业邮箱: 腾讯邮箱 阿里云邮

网友评论

      本文标题:阿里云不能发送邮箱的问题

      本文链接:https://www.haomeiwen.com/subject/mexscxtx.html