已使用 163 邮箱测试通过,且支持 SSL 连接。 发送邮件

示例:Jack 发送一封邮件给 Rose。

public class SendMail {

    public static void main(String[] args) {
        boolean isSSL = true;
        String host = "smtp.163.com";
        int port = 465;
        String from = "[email protected]";
        String to = "[email protected]";
        boolean isAuth = true;
        final String username = "[email protected]";
        final String password = "jack";

        Properties props = new Properties();
        props.put("mail.smtp.ssl.enable", isSSL);
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.port", port);
        props.put("mail.smtp.auth", isAuth);

        Session session = Session.getDefaultInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });

        try {
            Message message = new MimeMessage(session);

            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject("主题");
            message.setText("内容");

            Transport.send(message);
        } catch (AddressException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }

        System.out.println("发送完毕!");
    }
}

收取邮件

示例:Rose 收取最近一封邮件。

import java.util.Date;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.Session;
import javax.mail.Store;

public class FetchMail {

    public static void main(String[] args) {
        String protocol = "pop3";
        boolean isSSL = true;
        String host = "pop.163.com";
        int port = 995;
        String username = "[email protected]";
        String password = "rose";

        Properties props = new Properties();
        props.put("mail.pop3.ssl.enable", isSSL);
        props.put("mail.pop3.host", host);
        props.put("mail.pop3.port", port);

        Session session = Session.getDefaultInstance(props);

        Store store = null;
        Folder folder = null;
        try {
            store = session.getStore(protocol);
            store.connect(username, password);

            folder = store.getFolder("INBOX");
            folder.open(Folder.READ_ONLY);

            int size = folder.getMessageCount();
            Message message = folder.getMessage(size);

            String from = message.getFrom()[0].toString();
            String subject = message.getSubject();
            Date date = message.getSentDate();

            System.out.println("From: " + from);
            System.out.println("Subject: " + subject);
            System.out.println("Date: " + date);
        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        } finally {
            try {
                if (folder != null) {
                    folder.close(false);
                }
                if (store != null) {
                    store.close();
                }
            } catch (MessagingException e) {
                e.printStackTrace();
            }
        }

        System.out.println("接收完毕!");
    }
}

常用邮件协议

发送邮件:SMTP

收取邮件:POP3、IMAP

常用邮件配置项

配置项 说明
mail.xxx.ssl.enable 是否支持 SSL 连接
mail.xxx.host 邮件服务器主机名
mail.xxx.port 邮件服务器端口号
mail.xxx.auth 是否进行身份认证

说明:xxx 表示协议名称,例如:smtp、pop3 等。

默认端口号

  SMTP POP3 IMAP
普通方式 25 110 143
SSL 方式 465 995 993

使用 Apache Commons Email 发送邮件

import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

public class SendMail {

    public static void main(String[] args) {
        boolean isSSL = true;
        String host = "smtp.163.com";
        int port = 465;
        String from = "[email protected]";
        String to = "[email protected]";
        String username = "[email protected]";
        String password = "jack";

        try {
            Email email = new SimpleEmail();
            email.setSSLOnConnect(isSSL);
            email.setHostName(host);
            email.setSmtpPort(port);
            email.setAuthentication(username, password);
            email.setFrom(from);
            email.addTo(to);
            email.setSubject("主题");
            email.setMsg("内容");
            email.send();
        } catch (EmailException e) {
            e.printStackTrace();
        }

        System.out.println("发送完毕!");
    }
}

参考:http://commons.apache.org/proper/commons-email/userguide.html

时间: 2024-12-22 15:21:35

已使用 163 邮箱测试通过,且支持 SSL 连接。 发送邮件的相关文章

ECMall如何支持SSL连接邮件服务器的配置

首先,主要是ecmall使用的phpmailer版本太低,不支持加密连接. 然后,得对相应代码做一定调整. 1. 覆盖phpmailer 请从附件进行下载: http://files.cnblogs.com/x3d/ecmall_phpmailer_lib.zip 2. 改造lib 涉及到两个lib:mail.lib.php .mail_quequ.lib.php 在这两个类的构造函数中,增加一个参数传递.如Mailer function __construct($from, $email, $

弄了一个支持SSL的TCP客户端

近日需要做一些TCP的收发的调试,到网上去找TCP调试工具,找了好几款,发现不是功能不全就是不支持HEX,更重要的SSL也不支持,于是动手写了一款,叫TCPRunner,有以下特性: 使用异步IO方式 支持HEX显示/编辑 支持SSL连接 简单易用界面友好 整个程序才40KB大小 基于.net framework 4.5 下载:TCPRunner.7z 看看有没有人用,有必要的话我就公开代码:)

织梦自定义表单发送邮件超简单版(支持QQ邮箱163邮箱)

环境要求 主机465端口是开启和放行的 php扩展openssl是开启的 php扩展sockets是开启的 1.QQ邮箱 或者 163邮箱 126邮箱 开启SMTP服务,拿到授权码,根据自己的来 QQ邮箱开启SMTP服务 和 获取授权码 163邮箱开启SMTP服务和 获取授权码 126邮箱开启SMTP服务,跟163一样. 2.网站后台 - 系统 - 系统基本参数 - 核心设置 是否启用SMTP方式发送邮件:是 SMTP服务器:ssl://smtp.163.com 或者 ssl://smtp.qq

[Python爬虫] Selenium实现自动登录163邮箱和Locating Elements介绍

目录(?)[+] 前三篇文章介绍了安装过程和通过Selenium实现访问Firefox浏览器并自动搜索"Eastmount"关键字及截图的功能.而这篇文章主要简单介绍如何实现自动登录163邮箱,同时继续介绍Selenium+Python官网Locating Elements部分内容.        希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        

163邮箱联系人与日历要如何同步导入到 Outlook 2007~2013

很多人都想知道,163邮箱联系人要怎么导入 outlook,毕竟在办公室我们还是比较常用outlook的. 但是,这个问题其实一直没有很好的解决方法,于是我们常常看到有人教学使用由163网页版进行汇出再到outlook进行所谓的csv汇入这样的方式,其实这种方式实在没有什么效率,更别说日历这块更是拿不出办法可以同步了. 但是现在都已经是云端计算的时代了,连iPhone都能够利用CardDAV及CalDAV同步163邮箱的联系人以及日历了,凭什么号称商业环境最重要的办公软件outlook却不可以.

利用Python+163邮箱授权码发送邮件

背景 前段时间写了个自动打卡的脚本,但是脚本不够完善,我需要知道,打卡到底成没成功,因此,我想到了用Python执行完代码之后,再执行一段发送邮件的代码.需求开始明确了,就开始分析和写代码实现吧. 分析 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. 代码实现 import smt

vip.163邮箱登录指南,163vip邮箱体验分享

随着互联网科技的发展,免费邮箱已不能充分满足上班族的工作需要,因此转而使用付费邮箱.下面小编带你探索深受上班族热捧的VIP邮箱,看vip邮箱如何在各个领域发挥价值. VIP邮箱使用群体VIP邮箱主要应用在金融,科技,外贸,电子,工程,企事业单位等办公人士.登录163vip邮箱 百度搜索163.net邮箱,进入主页,输入用户名,密码,即可进入邮箱主页 用户名一般设置为3-5位,方便好记.密码至少6位,包含字母与数字,使其更加安全. 在邮箱主界面中可以查看到天气,新闻,还可以查到邮箱容量. 163v

163邮箱vip会员体系,看收费邮箱行业未来!

163邮箱成立至今,已有近20年的历史,从免费邮箱的普及到全面升级后163vip收费邮箱,均受到了各行业广泛关注,尤为值得一提的TOM旗下163.net邮箱,在过去的2018年凭借2次大型会员活动及不断上新的功能,更是实力圈粉 由此可见,电子邮箱行业并未同部分人口中说的已被时代的发展所取代,相反,收费邮箱几亿职场人的庞大市场,才是2019年的重头戏.为什么像TOM-vip收费邮箱可以占据着重要市场,让我们一探究竟 更具稳定性的邮箱跟随互联网技术迅速发展,TOM-vip邮箱引入智能反垃圾系统及先进

30秒深入解析163vip邮箱,申请163邮箱原来好处这么多

关于邮箱的选择及使用,是一个值得花时间去了解并且认真对待的问题,有使用邮件习惯的伙伴定深有感触,当出现账号无法登录.重要邮件收不到等问题时,心急如麻的感受.就好比用了多年的手机忽然丢失,全部的联系人及照片资料均找不到了,其损失已无法用数字所表达.为此,今天小邮以近日备受关注的163.net- vip邮箱为例,具体来谈谈收费邮箱的体验~一. 秒开速度 页面加载速度极快,无论是注册.登录.点击发信,通过网页预览时体验流畅.稳定 二. 邮箱性能邮件发送速度快,功能反应灵敏.不同于免费邮箱产品较小的容量