JAVA 使用qq邮箱发送邮件

Posted 戴眼镜的蚂蚁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 使用qq邮箱发送邮件相关的知识,希望对你有一定的参考价值。

引入一个架包:

 

代码如下:

    private static final String QQ_EMAIL_HOST="smtp.qq.com";//qq SMTP服务器 地址
    private static final String QQ_EMAIL_PORT="587";//qq SMTP服务器 端口(465这个端口有问题)
    private static final String QQ_EMAIL_FROM="[email protected]";//qq 发件人邮箱
    private static final String QQ_EMAIL_PASSWORD_CODE="xxxxxxxxxxxxxxx";//qq 16位的 授权码
    
    public static  void sendQQEmail(String to_address, String title, String content) throws UnsupportedEncodingException, MessagingException {
        // 创建Properties 类用于记录邮箱的一些属性
        Properties props = new Properties();
        // 表示SMTP发送邮件,必须进行身份验证
        props.put("mail.smtp.auth", "true");
        //此处填写SMTP服务器
        props.put("mail.smtp.host",QQ_EMAIL_HOST);
        //端口号,QQ邮箱给出了两个端口,465这个端口用的有问题,用这个587
        props.put("mail.smtp.port", QQ_EMAIL_PORT);
        // 此处填写你的发件人账号
        props.put("mail.user", QQ_EMAIL_FROM);
        // 此处的密码就是前面说的16位STMP口令(授权码)
        props.put("mail.password", QQ_EMAIL_PASSWORD_CODE);
        // 构建授权信息,用于进行SMTP进行身份验证
        Authenticator authenticator = new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                String userName = props.getProperty("mail.user");
                String password = props.getProperty("mail.password");
                return new PasswordAuthentication(userName, password);
            }
        };
        // 使用环境属性和授权信息,创建邮件会话
        Session mailSession = Session.getInstance(props, authenticator);
        // 创建邮件消息
        MimeMessage message = new MimeMessage(mailSession);
        // 设置发件人
        InternetAddress form = new InternetAddress(props.getProperty("mail.user"));
        message.setFrom(form);
        // 设置收件人的邮箱:收件人的邮箱不限于qq邮箱,也可以是163邮箱……
        InternetAddress to = new InternetAddress(to_address);
        message.setRecipient(Message.RecipientType.TO, to);
        // 设置邮件标题
        message.setSubject(title);
        // 设置邮件的内容体
        message.setContent(content, "text/html;charset=UTF-8");
        // 最后当然就是发送邮件啦
        Transport.send(message);
    }

 

以上是关于JAVA 使用qq邮箱发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

基于java mail实现简单的QQ邮箱发送邮件

java实现qq邮箱每天定时发送邮件

java实现邮件发送验证码

用JAVA发送邮件,正文乱码该如何解决

杂项之使用qq邮箱发送邮件

怎么用HTML格式发送邮件.既怎么发HTML格式的邮件..?