zoukankan      html  css  js  c++  java
  • java SSL 邮件发送

         Properties props = new Properties();
            props.put("mail.smtp.host", smtp);
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.port", "465");
            
            Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(address,passwd);
                    }
                });
            try {
                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress(address));
                message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse(email));
                message.setSubject(subject);
    //          message.setContent(content, "text/html;charset=utf-8");  
    
                //创建 Mimemultipart添加内容(可包含多个附件)  
                MimeMultipart multipart = new MimeMultipart();  
                //MimeBodyPart(用于信件内容/附件)  
                BodyPart bodyPart = new MimeBodyPart();  
                bodyPart.setContent(content.toString(), "text/html;charset=utf-8");  
                //添加到MimeMultipart对象中  
                multipart.addBodyPart(bodyPart);  
                FileDataSource fds = new FileDataSource(new File(tTempPath));  
                BodyPart fileBodyPart = new MimeBodyPart();  
                // 字符流形式装入文件  
                fileBodyPart.setDataHandler(new DataHandler(fds));  
                // 设置附件文件名
                String fname = new File(tTempPath).getName();
                // fname = new String(fname.getBytes("UTF-8"), "ISO-8859-1");
                fileBodyPart.setFileName(MimeUtility.encodeText(fname));
                multipart.addBodyPart(fileBodyPart);  
                message.setContent(multipart);
                
                Transport.send(message);
                return true;
    
            } catch (MessagingException e) {
                System.out.println(e.getMessage());
                return false;
            }
  • 相关阅读:
    swoole 入门
    Centos7安装Percona5.7
    clone github报Permission denied (publickey) 解决方案
    yii2-swiftmailer入门
    Yii 2.0 数据库操作总结
    面向对象简单示例
    面向对象与面向过程
    Tkinter之部件3种放置方式pack、grid、place
    Tkinter之variable用法
    Tkinter之Menu
  • 原文地址:https://www.cnblogs.com/xiufengd/p/8944622.html
Copyright © 2011-2022 走看看