• java mail 邮箱发送


    引用自http://www.cnblogs.com/xdp-gacl/p/4220190.html

    package com.longcai.simple;

    import java.io.FileOutputStream;
    import java.util.Properties;

    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.NoSuchProviderException;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.AddressException;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import javax.mail.internet.MimePart;
    import javax.swing.plaf.basic.BasicDirectoryModel;

    public class SendImaMail {
        public static void main(String[] args) throws Exception {
            Properties properties=new Properties();
            properties.setProperty("mail.host", "smtp.sohu.com");
            properties.setProperty("mail.transport.protocol", "smtp");
            properties.setProperty("mail.smtp.auth","true");
            
            Session session=Session.getInstance(properties);
            session.setDebug(true);
            
            Transport ts=session.getTransport();
            ts.connect("smtp.sohu.com", "sohu588168", "dzj8013168");
            
             Message message = createMixedMail(session);
             ts.sendMessage(message, message.getAllRecipients());
             ts.close();
        }
        //图片和附件一起发送
        private static Message createMixedMail(Session session) throws Exception {
            MimeMessage message=new MimeMessage(session);
            message.setFrom(new InternetAddress("sohu588168@sohu.com"));
            message.setRecipient(Message.RecipientType.TO, new InternetAddress("275002199@qq.com"));
            message.setSubject("带图片的邮件");
            
            MimeBodyPart text=new MimeBodyPart();
            text.setContent("xxx<img src='cid:aaa.jpg'/>","text/html;charset=utf-8");
            
            MimeBodyPart img=new MimeBodyPart();
            img.setDataHandler(new DataHandler(new FileDataSource("C:\Users\Administrator\Desktop\444.jpg")));
            img.setContentID("aaa.jpg");
            
            MimeBodyPart attach=new MimeBodyPart();
            DataHandler dh=new DataHandler(new FileDataSource("C:\Users\Administrator\Desktop\333.jpg"));
            attach.setDataHandler(dh);
            attach.setFileName(dh.getName());
            
            MimeMultipart mp1=new MimeMultipart();
            mp1.addBodyPart(text);
            mp1.addBodyPart(img);
            mp1.setSubType("related");
            
            MimeMultipart mp2=new MimeMultipart();
            mp2.addBodyPart(attach);
            mp2.setSubType("mixed");
            
            MimeBodyPart content =new MimeBodyPart();
            content.setContent(mp1);
            mp2.addBodyPart(content);

            
            message.setContent(mp2);
            message.saveChanges();;
            
            return message;
        }
        //发送简单文本
        private static Message createSimpleMail(Session session) throws Exception {
            Message message=new MimeMessage(session);
            message.setFrom(new InternetAddress("sohu588168@sohu.com"));
            //to 代表发送  还有cc抄送等等
            message.setRecipient(Message.RecipientType.TO, new InternetAddress("275002199@qq.com"));
            message.setSubject("简单的标题");
            message.setContent("你好,第一封邮件", "text/html;charset=utf-8");
            return message;
        }
        //创建带图片的文件  
        private static Message createImageMail(Session session) throws Exception {
            Message message=new MimeMessage(session);
            message.setFrom(new InternetAddress("sohu588168@sohu.com"));
            message.setRecipient(Message.RecipientType.TO, new InternetAddress("275002199@qq.com"));
            message.setSubject("带图片的邮件");
            MimeBodyPart  text=new MimeBodyPart();
            //这里的img必须有,才可以在邮件中显示出来图片
            text.setContent("这是一封带图片的<img src='cid:xxx.jpg'>邮件","text/html;charset=utf-8");
            
            MimeBodyPart image =new MimeBodyPart();
            //可以是src\22.jpg  也可以是当前桌面路径
            DataHandler dh=new DataHandler(new FileDataSource("C:\Users\Administrator\Desktop\333.jpg"));
            image.setDataHandler(dh);
            image.setContentID("xxx.jpg");
            
            MimeMultipart mm=new MimeMultipart();
            mm.addBodyPart(text);
            mm.addBodyPart(image);
            mm.setSubType("related");
            
            message.setContent(mm);
            message.saveChanges();
            message.writeTo(new FileOutputStream("C:\Users\Administrator\Desktop\222.eml"));
            
            return message;
        }
        private static Message createAttachMail(Session session) throws Exception {
            Message message=new MimeMessage(session);
            message.setFrom(new InternetAddress("sohu588168@sohu.com"));
            message.setRecipient(Message.RecipientType.TO, new InternetAddress("275002199@qq.com"));
            message.setSubject("JavaMail邮件发送测试");
            
            MimeBodyPart  text=new MimeBodyPart();
            text.setContent("使用JavaMail创建的带附件的邮件", "text/html;charset=UTF-8");
            
            MimeBodyPart attach  =new MimeBodyPart();
            DataHandler dh=new DataHandler(new FileDataSource("C:\Users\Administrator\Desktop\555.zip"));
            attach.setDataHandler(dh);
            //图片是ContentID   附件是setFileName
            attach.setFileName(dh.getName());
            
            MimeMultipart mm=new MimeMultipart();
            mm.addBodyPart(text);
            mm.addBodyPart(attach);
            //如果是附件需要改这个
            mm.setSubType("mixed");
            
            message.setContent(mm);
            message.saveChanges();
            message.writeTo(new FileOutputStream("C:\Users\Administrator\Desktop\333.eml"));
            
            return message;
        }
    }


  • 相关阅读:
    选择排序--简单(c语言)
    冒泡排序--简单(c++)
    冒泡排序--简单(c语言)
    直接插入排序--简单(c++)
    Microsoft Azure File 服务简介
    【 D3.js 选择集与数据详解 — 1 】 使用datum()绑定数据
    物联网操作系统HelloX V1.77(beta)版本发布
    对XX证券报关于物联网操作系统的几个问题的答复
    使用 Azure Site Recovery 将内部部署虚拟化工作负荷迁移至 Azure
    使用 Azure Site Recovery 灾难恢复至 Azure 的功能现已正式发布
  • 原文地址:https://www.cnblogs.com/happy0120/p/7199009.html
Copyright © 2020-2023  润新知