• java发送邮件


    1.安装所需的email的jar包

    2.发送一封简单的Email

    package com.mylight;
    
    import java.util.Properties;
    import java.util.UUID;
    
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    public class TestMail {
        public static void main(String[] args) {
    
            // 收件人电子邮箱
            String to = "****@163.com";
    
            // 发件人电子邮箱
            String from = "****@qq.com";
    
            senEmail(to, from);
        }
    
        private static void senEmail(String to, String from) {
            // 指定发送邮件的主机为 smtp.qq.com
              final String host = "smtp.163.com";  //QQ 邮件服务器
         
              // 获取系统属性
              final Properties properties = System.getProperties();
         
              // 设置邮件服务器
              properties.setProperty("mail.smtp.host", host);
         
              properties.put("mail.smtp.auth", "true");
              // 获取默认session对象
              final Session session = Session.getDefaultInstance(properties,new Authenticator(){
                public PasswordAuthentication getPasswordAuthentication()
                {
                 return new PasswordAuthentication(from, "****"); //发件人邮件用户名、密码(授权密码)  与登录密码不同
                }
               });
         
              try{
                 // 创建默认的 MimeMessage 对象
                 final MimeMessage message = new MimeMessage(session);
         
                 // Set From: 头部头字段
                 message.setFrom(new InternetAddress(from));
         
                 // Set To: 头部头字段
                 message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
         
                 // Set Subject: 头部头字段
                 message.setSubject("验证码");
         
                 // 设置消息体
                 message.setText("你的验证码为:" + String.valueOf(UUID.randomUUID()).substring(0, 6).toUpperCase());
         
                 // 发送消息
                 Transport.send(message);
                 System.out.println("Sent message successfully....from.com");
              }catch (final MessagingException mex) {
                 mex.printStackTrace();
              }
        }
    }

    3.发送一段HTML的email

    package com.mylight;
    
    import java.util.Properties;
    
    import javax.mail.Authenticator;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeMessage;
    
    public class HtmlTestEmail {
        public static void main(String[] args) {
                
             // 收件人电子邮箱
              String to = "****@163.com";
         
              // 发件人电子邮箱
              String from = "****@163.com";
         
              // 指定发送邮件的主机为 localhost
              String host = "smtp.163.com";
         
              // 获取系统属性
              Properties properties = System.getProperties();
         
              // 设置邮件服务器
              properties.setProperty("mail.smtp.host", host);
              //设置验证
              properties.put("mail.smtp.auth", "true");
              // 获取默认的 Session 对象。
              Session session = Session.getDefaultInstance(properties,new Authenticator() {
                  
                  public PasswordAuthentication getPasswordAuthentication()
                    {
                     return new PasswordAuthentication(from, "***"); //发件人邮件用户名、密码
                    }
            });
         
              try{
                 // 创建默认的 MimeMessage 对象。
                 MimeMessage message = new MimeMessage(session);
         
                 // Set From: 头部头字段
                 message.setFrom(new InternetAddress(from));
         
                 // Set To: 头部头字段
                 message.addRecipient(Message.RecipientType.TO,
                                          new InternetAddress(to));
         
                 // Set Subject: 头字段
                 message.setSubject("This is the Subject Line!");
         
                 // 发送 HTML 消息, 可以插入html标签
                 message.setContent("<h1>This is actual message</h1>",
                                    "text/html" );
         
                 // 发送消息
                 Transport.send(message);
                 System.out.println("Sent message successfully....");
              }catch (MessagingException mex) {
                 mex.printStackTrace();
              }
        }
    }

    4.发送带有附件的Email

    package com.mylight;
    
    import java.io.File;
    import java.util.Properties;
    
    import javax.activation.DataHandler;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.mail.Authenticator;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    
    public class FjTestEmail {
        public static void main(String[] args) {
            
            // 收件人电子邮箱
              String to = "****@163.com";
         
              // 发件人电子邮箱
              String from = "****@163.com";
         
              // 指定发送邮件的主机为 localhost
              String host = "smtp.163.com";
         
              // 获取系统属性
              Properties properties = System.getProperties();
         
              // 设置邮件服务器
              properties.setProperty("mail.smtp.host", host);
              //设置验证
              properties.put("mail.smtp.auth", "true");
              // 获取默认的 Session 对象。
              Session session = Session.getDefaultInstance(properties,new Authenticator() {
                  
                  public PasswordAuthentication  getPasswordAuthentication(){
                      
                    return new PasswordAuthentication(from, "lcy1992111");
                  }
                  
            });
         
              try{
                 // 创建默认的 MimeMessage 对象。
                 MimeMessage message = new MimeMessage(session);
         
                 // Set From: 头部头字段
                 message.setFrom(new InternetAddress(from));
         
                 // Set To: 头部头字段
                 message.addRecipient(Message.RecipientType.TO,
                                          new InternetAddress(to));
         
                 // Set Subject: 头字段
                 message.setSubject("This is the Subject Line!");
         
                 // 创建消息部分
                 BodyPart messageBodyPart = new MimeBodyPart();
         
                 // 消息
                 messageBodyPart.setText("This is message body");
                
                 // 创建多重消息
                 Multipart multipart = new MimeMultipart();
         
                 // 设置文本消息部分
                 multipart.addBodyPart(messageBodyPart);
         
                 // 附件部分
                 messageBodyPart = new MimeBodyPart();
                 //发送的附件路径
                 File file = new File("C:\Users\sxcd\Desktop\work\codecommit.txt");
                
                 DataSource source = new FileDataSource(file);
                 messageBodyPart.setDataHandler(new DataHandler(source));
                 messageBodyPart.setFileName("code");
                 multipart.addBodyPart(messageBodyPart);
         
                 // 发送完整消息
                 message.setContent(multipart );
         
                 //   发送消息
                 Transport.send(message);
                 System.out.println("Sent message successfully....");
              }catch (MessagingException mex) {
                 mex.printStackTrace();
              }
        }
    }
  • 相关阅读:
    du命令、df命令、磁盘分区
    du命令、df命令、磁盘分区
    C#中类和结构体的区别
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    JAVA并查集
    JAVAPrim最小生成树
    自媒体创业怎么起步?如何选择自媒体平台?
    如何在互联网创业?有什么好的技巧?
  • 原文地址:https://www.cnblogs.com/lichangyun/p/8968876.html
Copyright © 2020-2023  润新知