zoukankan      html  css  js  c++  java
  • 发送邮件 (二)

    
    import com.sun.mail.util.MailSSLSocketFactory;
    
    import javax.activation.DataHandler;
    import javax.activation.FileDataSource;
    import javax.mail.*;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    import java.util.Properties;
    
    //发送简单的邮件
    public class MailDemo02 {
        public static void main(String[] args) throws Exception {
            Properties prop = new Properties();
            prop.setProperty("mail.host","smtp.qq.com");//设置QQ有机胺服务器
            prop.setProperty("mail.transport.protocol","smtp");//右键发送协议
            prop.setProperty("mail.smtp","true");//需要验证用户密码
    
    
            //关于QQ邮箱,还要设置SSL加密,加上以下代码即可,大厂,其他邮箱不需要
            MailSSLSocketFactory sf = new MailSSLSocketFactory();
            sf.setTrustAllHosts(true);
            prop.put("mail.smtp.ssl.enable","true");
            prop.put("mail.smtp.ssl.socketFactory",sf);
    
            //使用javaMail发送邮件的5个步骤
            //1.创建定义整个应用程序所需要的环境信息的session对象
    
            //QQ才需要其他的不需要
            Session session = Session.getDefaultInstance(prop, new Authenticator() {
                public PasswordAuthentication getPasswordAuthentication(){
                    //发件人邮件用户名,授权码
                    return  new  PasswordAuthentication("xxxx@qq.com","授权");
                }
            });
            //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态
            session.setDebug(true);
            //2.通过session得到transport对象
            Transport ts = session.getTransport();
            //3.使用邮箱的用户名和授权码连接服务器
            ts.connect("smtp.qq.com","xxx@qq.com","授权码");
            //4.创建邮件:写邮件
            //注意传递session
            MimeMessage message=new MimeMessage(session);
            //指名邮件发件人
            message.setFrom(new InternetAddress("xxxx@qq.com"));
            //指名有邮件的收件人
            message.setRecipient(Message.RecipientType.TO,new InternetAddress("1669945823@qq.com"));
            //邮件的标题
            message.setSubject("纯文本的简单邮件");
           //========================================================
           //准备图片数据
            MimeBodyPart image = new MimeBodyPart();
            //图片需要金国数据处理.. DataHandler:数据处理
            DataHandler dh = new DataHandler(new FileDataSource("D:\Study\JAVA\mail-java\src\bz.jpg"));
            image.setDataHandler(dh);//在我们的body中放入这个处理的图片数据
            image.setContentID("bz.jpg");//给图片设置id,在后面我们可以使用
    
            //准备正文数据
            MimeBodyPart text = new MimeBodyPart();
            text.setContent("这是一封带图片<img src='cid:bz.jpg'>的邮件","text/html;charset=UTF-8");
    
            //描述数据关系
            MimeMultipart mm = new MimeMultipart();
            mm.addBodyPart(text);
            mm.addBodyPart(image);
            mm.setSubType("related");
    
            //设置保存到消息中,保存修改
            message.setContent(mm);//把最后编辑好的邮件放到数据中
            message.saveChanges();//保存修改
            //========================================================
            //5.发送邮件
            ts.sendMessage(message,message.getAllRecipients());
            //6.关闭连接
            ts.close();
    
        }
    }
    每个人都是在努力的路上,别因为别人的误解而放弃,,术业有专攻,如是而已。
  • 相关阅读:
    音乐欣赏之歌词-《我们的歌》
    Office2007能够直接发日记了
    唯美的十大经典句子
    音乐电影-特务J
    FIFA2008封面人物
    夜深了,你的手机关机吗?
    第一次的,也是最后的情书
    ACCESS定时远程备份
    SVN Server
    [Joomla] SQL加入Joomla用户
  • 原文地址:https://www.cnblogs.com/16699qq/p/13149492.html
Copyright © 2011-2022 走看看