• Email实例


    import java.util.Properties;
    
    import javax.activation.DataHandler;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.Multipart;
    import javax.mail.Session;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import javax.mail.Transport;
    
    public class email { 
    public void send(String emailHost, //smtp服务器
            String toEmail, //收件人邮箱
            String additionalPath, //附件路径
            String additionalName, //附件名称
            String myEmailUser, //发件邮箱
            String myEmailPwd, //密码
            String emailTitle, //邮件标题
            String context ){ //内容
       Properties props = new Properties();
       props.put("mail.smtp.emailHost",emailHost);
       props.put("mail.smtp.auth", "true");     
       props.put("mail.smtp.port", "587");//qq专用其它不需要   
       
       Session session = Session.getDefaultInstance(props);
       session.setDebug(true);
       MimeMessage message = new MimeMessage(session);
       try {             
           message.setFrom(new InternetAddress(myEmailUser)); // 加载发件人地址            
    
           message.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));// 加载收件人地址            
           message.setSubject(emailTitle);// 加载标题
           
           Multipart multipart = new MimeMultipart();// 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件         
           BodyPart contentPart = new MimeBodyPart();
           contentPart.setText(context);// 设置邮件的文本内容
           multipart.addBodyPart(contentPart);
           
           BodyPart messageBodyPart = new MimeBodyPart();// 添加附件
           DataSource source = new FileDataSource(additionalPath);
           
           messageBodyPart.setDataHandler(new DataHandler(source));// 添加附件的内容
           sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
           messageBodyPart.setFileName("=?GBK?B?"+enc.encode(additionalName.getBytes())+"?=");
           multipart.addBodyPart(messageBodyPart);
           
           message.setContent(multipart);//将multipart对象放到message中            
           message.saveChanges();// 保存邮件            
           Transport transport = session.getTransport("smtp");// 发送邮件            
           transport.connect(emailHost, myEmailUser, myEmailPwd);// 连接服务器的邮箱            
           transport.sendMessage(message, message.getAllRecipients());// 把邮件发送出去
           transport.close();
       } catch (Exception e) {
           e.printStackTrace();
       }
    }
    
    public static void main(String[] args) {
    email email = new email();    
    email.send("smtp.qq.com",
    "xxxxxxxxx@qq.com",
    "E:\text.txt",
    "附件名称随便",
    "xxxxxxxxx@qq.com",
    "xxxxxxxxxrqudbgie",//qq为开启smtp给的密钥,其它为密码
    "测试邮件",
    "我的最新测试邮件!!"
        );    
       }
  • 相关阅读:
    RocketMQ系列(一)基本概念
    怎样实现登录?| Cookie or JWT
    Hotspot GC研发工程师也许漏掉了一块逻辑
    初级Java工程师也能轻松进行JVM调优了
    自动化不知如何参数化(二)?xlrd来帮你解决
    自动化不知如何参数化(一)?xlrd来帮你解决
    SpringCloud系列之API网关(Gateway)服务Zuul
    SpringCloud系列之客户端负载均衡Netflix Ribbon
    SpringCloud系列之使用Feign进行服务调用
    Spring Security系列之极速入门与实践教程
  • 原文地址:https://www.cnblogs.com/wqsbk/p/6812041.html
Copyright © 2020-2023  润新知