zoukankan      html  css  js  c++  java
  • javamail概述

    JavaMail

    是java提供的一组API,用来发送和接收邮件!

    ---------------------

    邮件相关的协议

    smtp 25 --> 简单的邮件传输协议
    pop3 110 --> 邮局协议第3版

    ---------------------


    =================================

    JavaMail

    1. 导包!
    * mail.jar
    * actvition.jar

    ----------------

    核心类:
    1. Session
    * 如果你得到了它,表示已经与服务器连接上了,与Connection的作用相似!

    得到Session,需要使用Session.getInstance(Properties, Authenticator);
    Properites props = new Properties();
    props.setProperty("mail.host", "smtp.163.com");
    props.setProperty("mail.smtp.auth", "true");

    Authenticator auth = new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication("itcast_cxf", "itcast");
    }
    };
    Session session = Session.getInstance(props, auth);

    2. MimeMessage
    * 它表示一个邮件对象,你可以调用它的setFrom(),设置发件人、设置收件人、设置主题、设置正文!


    3. TransPort
    * 它只有一个功能,发邮件!

    ------------------------------------------------------

    第一步:获得Session

    Session session = Session.getInstance(Properties prop, Authenticator auth);

    其中prop需要指定两个键值,一个是指定服务器主机名,另一个是指定是否需要认证!我们当然需要认证!

    Properties prop = new Properties();

    prop.setProperty(“mail.host”, “smtp.163.com”);//设置服务器主机名

    prop.setProperty(“mail.smtp.auth”, “true”);//设置需要认证

    其中Authenticator是一个接口表示认证器,即校验客户端的身份。我们需要自己来实现这个接口,实现这个接口需要使用账户和密码。

    Authenticator auth = new Authenticator() {

        public PasswordAuthentication getPasswordAuthentication () {

            new PasswordAuthentication(“itcast_cxf”, “itcast”);//用户名和密码

    }

    };

    通过上面的准备,现在可以获取得Session对象了:

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

    第二步:创建MimeMessage对象

    创建MimeMessage需要使用Session对象来创建:

    MimeMessage msg = new MimeMessage(session);

    然后需要设置发信人地址、收信人地址、主题,以及邮件正文。

    msg.setFrom(new InternetAddress(“itcast_cxf@163.com”));//设置发信人

    msg.addRecipients(RecipientType.TO, “itcast_cxf@qq.com,itcast_cxf@sina.com”);//设置多个收信人

    msg.addRecipients(RecipientType.CC, “itcast_cxf@sohu.com,itcast_cxf@126.com”);//设置多个抄送

    msg.addRecipients(RecipientType.BCC, ”itcast_cxf@hotmail.com”);//设置暗送

    msg.setSubject(“这是一封测试邮件”);//设置主题(标题)

    msg.setContent(“当然是hello world!”, “text/plain;charset=utf-8”);//设置正文

    第三步:发送邮件

    Transport.send(msg);//发送邮件

     ---------------------------------------------------------------

    package javaMail;

    import java.util.Properties;

    import javax.mail.Authenticator;
    import javax.mail.Message.RecipientType;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;

    import org.junit.Test;


    public class JavaMail {
    @Test
    public void fun1() throws AddressException, MessagingException{
    //得到session
    Properties prop = new Properties();
    prop.setProperty("mail.host", "smtp.163.com");//设置服务器主机名
    prop.setProperty("mail.smtp.auth", "true");//设置需要认证
    Authenticator auth = new Authenticator() {
    protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication("danyuzhu11@163.com", "DANYU1122");
    }
    };
    Session session = Session.getInstance(prop, auth);

    //创建MimeMessage
    MimeMessage msg=new MimeMessage(session);
    msg.setFrom(new InternetAddress("danyuzhu11@163.com"));//设置发件人
    msg.setRecipients(RecipientType.TO, "494281423@qq.com");//设置收件人
    msg.setRecipients(RecipientType.CC, "494281423@qq.com");//设置抄送
    msg.setRecipients(RecipientType.BCC, "494281423@qq.com");//设置暗送人
    //设置正文
    msg.setSubject("测试邮件");
    msg.setContent("一峰测试邮件","text/html;charset=utf-8");
    //发送邮件
    Transport.send(msg);



    }

    }

  • 相关阅读:
    (二)基于Netty的高性能Websocket服务器(netty-websocket-spring-boot)
    (一)在Spring Boot应用启动之后立刻执行一段逻辑
    (五)SpringBoot面试题
    (三)SpringBoot停止服务的方法
    (四)Springboot以jar包方式启动、关闭、重启脚本
    (二)SpringBoot应用运维脚本
    (一)Spring Boot 常用注解
    win7 32bit下安装mysql server
    Python模块Scrapy导入出错:ImportError: cannot import name xmlrpc_client
    14.Python标准库_数据库 (sqlite3)
  • 原文地址:https://www.cnblogs.com/danyuzhu11/p/6780130.html
Copyright © 2011-2022 走看看