zoukankan      html  css  js  c++  java
  • Javamail 两种不同方式分析

    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();
    }



    
    

     
  • 相关阅读:
    Java Web 网络留言板2 JDBC数据源 (连接池技术)
    Java Web 网络留言板3 CommonsDbUtils
    Java Web ConnectionPool (连接池技术)
    Java Web 网络留言板
    Java Web JDBC数据源
    Java Web CommonsUtils (数据库连接方法)
    Servlet 起源
    Hibernate EntityManager
    Hibernate Annotation (Hibernate 注解)
    wpf控件设计时支持(1)
  • 原文地址:https://www.cnblogs.com/xue88ming/p/7182996.html
Copyright © 2011-2022 走看看