java Mail如何发送邮件

1.应用场景:在系统需要发送与用户相关的消息时,而用户不在线,可以采取发送邮件的方式,使用户了解最新的系统情况 或者发送验证码等验证场景

2.实验环境 主要使用mail.jar和activation.jar两个包

3.使用一份简单的邮件

public void sendMail() throws AddressException, MessagingException{
        /*
         * 1.得到session
         */

        Properties properties=new Properties();
        properties.setProperty("mail.host", "smtp.163.com");
        properties.setProperty("mail.smtp.auth", "true");

        //账户信息测试
        Authenticator auth =new Authenticator() {

            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("zhou_s1", "xxx");
//这里是账户名和密码
            }
        };

        Session session =Session.getInstance(properties,auth);
        /*
         * 2.创建消息message
         */
        MimeMessage message=new MimeMessage(session);

        message.setFrom(new InternetAddress("[email protected]"));//设置发件人
        message.setRecipients(RecipientType.TO, "[email protected]");//设置收件人
        //message.setRecipients(RecipientType.CC, "[email protected]");//设置抄送
        //message.setRecipients(RecipientType.BCC, "[email protected]");//暗送给谁

        message.setSubject("这一份来自周松测试的垃圾邮件--javamail");
        message.setContent("test test test !!!","text/html;charset=utf-8");

        /*
         * 3.发送
         */
        Transport.send(message);
    }

4.一份带有附件的邮件

public void sendMailMore() throws AddressException, MessagingException, IOException{
        /*
         * 1.得到session
         */

        Properties properties=new Properties();
        properties.setProperty("mail.host", "smtp.163.com");
        properties.setProperty("mail.smtp.auth", "true");

        //账户信息测试
        Authenticator auth =new Authenticator() {

            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("zhou_s1", "xxx");
            }
        };

        Session session =Session.getInstance(properties,auth);

        /*
         * 2.创建消息message
         */
        MimeMessage message=new MimeMessage(session);

        message.setFrom(new InternetAddress("[email protected]"));//设置发件人
        message.setRecipients(RecipientType.TO, "[email protected]");//设置收件人

        message.setSubject("这是一份含有附件的邮件---测试使用--javamail");

        /******************************************************/
        /*
         * 附件的主体流程 附件含有多个组成部分 简称多部件
         *
         */
        MimeMultipart list =new MimeMultipart();

        //1.邮件主要内容  MimeBodyPart
        MimeBodyPart part1 =new MimeBodyPart();

        //1.1.内容
        part1.setContent("一份含有附件的测试邮件", "text/html;charset=utf-8");

        //1.2将主体添加到邮件中去
        list.addBodyPart(part1);

        //2.1.邮件附件里面的内容
        MimeBodyPart part2 =new MimeBodyPart();

        //2.2.附件
        File file =new File("G:/JAVAtest/Merge.mp3");

        part2.attachFile(file);
        part2.setFileName(MimeUtility.encodeText("Merge.mp3"));
        //2.3将主体添加到邮件中去
        list.addBodyPart(part2);    

        //3.最后将多部件添加到消息中去
        message.setContent(list);

        //发送
        Transport.send(message);
    }

测试完毕!

原文地址:https://www.cnblogs.com/ad-zhou/p/9226269.html

时间: 2024-08-03 17:35:29

java Mail如何发送邮件的相关文章

java mail使用中遇到的500类型错误

前言 首先,需要说明的是,本错误来自于一个简单的基于java mail的api程序,邮件服务器是163的SMTP,即smtp.163.com. 程序 需要说明一下,下面这个程序,是来自于网络上,本人为了测试自己项目MUEAS中重置密码,通过邮件认证实现重置功能,临时用来测试用的,若有异议,请给我留言.我将会自己写一份. 1 package com.shihuc.demo; 2 3 import java.util.*; 4 import java.io.*; 5 import javax.mai

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

刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 SMTP 服务 完成验证 获取授权码(后面代码实现时使用) -----------------------------第二步 环境配置 即下载第三方库 https://github.com/javaee/javamail/releases -----------------------------第三步 代

java mail发送邮件

import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.Properties; import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.NoSuchProviderException;import javax.mail.

java mail发送邮件demo 代码

java mail发送邮件demo,引入mail.jar,运行测试发送ok[代码][Java]代码     01import java.util.Date;02import java.util.Properties;0304import javax.mail.Authenticator;05import javax.mail.Message;06import javax.mail.MessagingException;07import javax.mail.PasswordAuthenticat

Android Java Mail与Apache Mail发送邮件对比

原文链接: 一.邮件简介  一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等:  1.收件人:收件人的邮箱地址,例如[email protected]  2.收件人姓名:大部分的邮件显示时都会显示,例如loadfate [email protected]  3.发件人:发件人的邮箱地址  4.发件人姓名:  5.主题:邮件的标题  6.内容及附件:邮件的主要内容 二.使用Java发邮件的通用步骤  一般的项目中没有单独的邮件服务器,一般情况下都是使用别人的服务器.  1.设置

Java使用javax.mail.jar发送邮件并同意发送附件

因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一直都认为作为开发者,不怕在开发的过程中遇到多少难题,而是有没有去解决它的勇气和决心,这里多学习就成为了关键,成为了一个程序员发展的重中之重!好啦.闲话就讲到这里.来点实际的. 当一个开发者工作到一定程度后,面向对象的思维就会一直在他的老子里环绕.所以我们先把邮件的常量类.实体类以及工具类等等先该封装

Java使用javax.mail.jar发送邮件

由于Java在开发网页上占有绝大优势,所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必然,网络安全一再安全我们需要把账号的安全级别提到更高!因此这些对于开发人员也就成了必须掌握的技能!我一直都觉得作为开发人员,不怕在开发的过程中遇到多少难题,而是有没有去解决它的勇气和决心,这里多学习就成为了关键,成为了一个程序猿发展的重中之重!好啦,闲话就说到这里,来点实际的! 当一个开发人员工作到一定程度后,面向对象的思维就会一直在他的老子里围绕!所以我们先把邮件的常量类.实体类以及工具类等等先

简单的java mail发送邮件实例

mail.jar ,commons-email-X.X.jar ,activation.jar ,log4j.jar  这四个jar,放进项目里 下载地址 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html 该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人.下面是具体的代码: 先写个简单的mail对象 packag

Java Mail 发送邮件(个人备份)

package net.guoguoda.admin.common.utils; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; i