Javamail 两种不同方式分析

原创 2016年06月01日 17:06:43
Javamail 两种不同方式分析
第一种: 登陆个人邮箱,以此邮箱为基础发送邮件:
 public static void sendTxtMail()
    {
        Properties props = new Properties();

        Session session = Session.getInstance(props, null);
        session.setDebug(true);// 打开debug模式,会打印发送细节到console
        Message message = new MimeMessage(session); // 实例化一个MimeMessage集成自abstract Message
                                                    // 。参数为session
        try
        {
            message.setFrom(new InternetAddress("xxxxxx")); // 设置发出方,使用setXXX设置单用户,使用addXXX添加InternetAddress[]

            message.setText("Test!"); // 设置文本内容 单一文本使用setText,Multipart复杂对象使用setContent

            message.setSubject("Test!"); // 设置标题

            message.setRecipient(Message.RecipientType.TO, new InternetAddress("mx91953@imcap.ap.ssmb.com")); // 设置接收方

            /**
             * 使用静态方法每次发送需要建立一个到smtp服务器的链接,你可以手动控制连接状态
             * ,通过session获得tansport,连接到mailserver,而session就可以使用Session
             * .getDefaultInstance(props,null);获得
             */
            Transport transport = session.getTransport("smtp");
            transport.connect("smtp.126.com", "xxxx, "xxxx");//用户名,密码
            message.saveChanges();
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            
        }
        catch (Exception e)
        {
            // 此处处理AddressException异常 [The exception thrown when a wrongly formatted address is
            // encountered.]

        } 

    }

第二种 本地有邮件服务已经启动。 linux 或者window 都应该有。具体不清楚 例子为linux:
try
{
    String from = "XXXX" + InetAddress.getLocalHost().getHostName();//?????????
    String host = "localhost";
    Properties props = new Properties();

    props.put("mail.smtp.host", host);
    props.put("mail.debug", "true");//debug
    Session mailSession = Session.getInstance(props);

    Message msg = new MimeMessage(mailSession);

    msg.setFrom(new InternetAddress(from));
    InternetAddress[] address = { new InternetAddress(XXXXXXX) };//?????
    msg.setRecipients(Message.RecipientType.TO, address);
    msg.setSubject("Test"); // ????
    msg.setSentDate(new Date()); //??

    // Set message content
    msg.setText("Test"); // ????

    // Send the message
    Transport.send(msg); //??

}
catch (Exception mex)
{
    // Prints all nested (chained) exceptions as well
    mex.printStackTrace();
}







对servlet两种跳转方式的深刻探讨

servlet 跳转 jsp页面 服务端跳转 客户端跳转
  • liu_005
  • liu_005
  • 2015年10月22日 15:41
  • 2234

不用file_get_contents,用curl时。接口调用数据获取

有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容。那就是可以使用另外一个函数curl。 下面是fi...
  • birdfish123
  • birdfish123
  • 2016年12月30日 16:04
  • 440

Service的两种启动方式及其之间的区别

作为Android四大组价之一的Service,可以在很多场合中进行应用。比如当在播放音频的时候用户启动了其他Activity,这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,或者在后台记录...
  • siwen1234
  • siwen1234
  • 2015年12月14日 11:37
  • 1511

创建线程的两种方式区别

Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线...
  • Krito_blog
  • Krito_blog
  • 2017年02月01日 12:49
  • 1610

java学习心得——servlet的两种跳转方式

 在servlet中,一般跳转都发生在doGet, doPost等方法里面。  一、原理 1) redirect 方式 response.sendRedirect("/a.jsp");...
  • chao2016
  • chao2016
  • 2016年02月14日 16:33
  • 641

Service 的两种启动方法和区别

Service 的两种启动方法和区别 Service的生命周期方法onCreate, onStart, onDestroy 有两种方式启动一个Service,他们对Service生命周...
  • XSL1990
  • XSL1990
  • 2013年11月21日 23:42
  • 3063

php file_get_contents和curl请求接口并获取数据

当我们在做PHP开发的时候,很多时候需要对接口进行测试,或者更方便的调用一些已有模块的接口,取到结果并进行后续操作,我们可以通过curl进行模拟提交post和get请求,来去实现这些功能。 下面是对c...
  • shu102ming
  • shu102ming
  • 2017年04月26日 10:33
  • 1147

java web两种跳转方式的区别

服务器端跳转与客户端跳转:        首先我们需要理解什么是服务器端跳转,什么是客户端的跳转。简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),而客户...
  • sujianxin2012
  • sujianxin2012
  • 2014年09月01日 14:19
  • 3122

两种跳转方式分别是什么?有什么区别

页面有两种方式: 1.forward跳转: 2.response跳转:response.sendRedirect("跳转页面地址"); forward跳转:\\服务器端跳转,地址栏不改变; re...
  • mc171799274
  • mc171799274
  • 2011年12月08日 20:40
  • 3490

form表单两种提交方式的区别

form表单中 method有两种提交方法,get和post分别对应HttpServlet中的doGet()和doPost()方法,这两种提交方式其实有很大的区别,现在总结如下: 1.form表单默认...
  • shepherd1st
  • shepherd1st
  • 2013年03月18日 21:59
  • 4041
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Javamail 两种不同方式分析
举报原因:
原因补充:

(最多只允许输入30个字)