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

    依赖:

    1         <dependency>
    2             <groupId>javax.mail</groupId>
    3             <artifactId>mail</artifactId>
    4             <version>1.4.7</version>
    5         </dependency>
    View Code

    代码:

      1 package cn.edu.buaa.act.mail;
      2 
      3 import java.util.Date;
      4 import java.util.Properties;
      5 
      6 import javax.activation.DataHandler;
      7 import javax.activation.DataSource;
      8 import javax.activation.FileDataSource;
      9 import javax.mail.Address;
     10 import javax.mail.Authenticator;
     11 import javax.mail.BodyPart;
     12 import javax.mail.Message;
     13 import javax.mail.Multipart;
     14 import javax.mail.PasswordAuthentication;
     15 import javax.mail.Session;
     16 import javax.mail.Transport;
     17 import javax.mail.internet.InternetAddress;
     18 import javax.mail.internet.MimeBodyPart;
     19 import javax.mail.internet.MimeMessage;
     20 import javax.mail.internet.MimeMultipart;
     21 
     22 public class SendEmail {
     23 
     24     private boolean validate = true;
     25     // 发送者邮箱名
     26     private String username = "monitor_car";
     27     // 发件人邮箱
     28     private String FROM = username + "@163.com";
     29     // 发送者邮箱密码
     30     private String password = "xxxx123";
     31     // 邮件显示的发件人
     32     private String FROM_NAME = "zhangyang";
     33     // 邮件服务器
     34     private String Email_Host = "smtp.163.com";
     35     // 邮件标题
     36     private String Email_Subject = "开会通知";
     37     // 邮件头
     38     private String Email_Header = "This Is Email Header";
     39     // 邮件内容
     40     private String Email_Body = "<a href="http://www.baidu.com">This Is Email Body</a>";
     41     // 收件人邮箱
     42     private String TO = "xxxx@163.com";
     43 
     44     public void doSendEmail(int mailType) {
     45 
     46         // 获取系统环境
     47         Properties prop = new Properties();
     48         Authenticator auth = null;
     49         // 判断发送邮件是否需要验证
     50         if (validate) {
     51             // 邮件服务器认证 用户名和密码
     52             auth = new Authenticator() {
     53                 protected PasswordAuthentication getPasswordAuthentication() {
     54                     return new PasswordAuthentication(username, password);
     55                 }
     56             };
     57         }
     58         // 添加必要的信息
     59         prop.put("mail.smtp.host", Email_Host);
     60         prop.put("mail.smtp.auth", validate);
     61 
     62         // 设置对话和邮件服务器进行通讯
     63         Session session = Session.getDefaultInstance(prop, auth);
     64         // 在控制台显示Debug信息
     65         session.setDebug(true);
     66         // 设置邮件对象
     67         Message message = new MimeMessage(session);
     68         try {
     69             // 设置邮件主题
     70             message.setSubject(Email_Subject);
     71             // 设置邮件标题
     72             message.setHeader("Header", Email_Header);
     73             // 设置发送时间
     74             message.setSentDate(new Date());
     75 
     76             // 设置发信人地址 和 名字
     77             Address address = new InternetAddress(FROM, FROM_NAME);
     78             // 把发件人信息添加到信息中
     79             message.setFrom(address);
     80 
     81             // 设置发件人地址
     82             Address toAddress = new InternetAddress(TO);
     83             // 设置接收人地址
     84             message.setRecipient(Message.RecipientType.TO, toAddress);
     85 
     86             // 设置多个收件人地址
     87             // message.addRecipient(Message.RecipientType.TO,new
     88             // InternetAddress("xxx@xxx.com"));
     89 
     90             // 设置邮件格式
     91             switch (mailType) {
     92             case 1:// 发送纯文本邮件
     93                 message.setContent(Email_Body, "text/plain; charset=utf-8");
     94                 break;
     95             case 2:// 发送html邮件
     96                 message.setContent(Email_Body, "text/html; charset=utf-8");
     97                 break;
     98             case 3:// 发送附件
     99                 message.setContent(Email_Body, "text/html; charset=utf-8");
    100 
    101                 Multipart multipart = new MimeMultipart();
    102                 // 邮件正文部分
    103                 BodyPart messageBodyPart = new MimeBodyPart();
    104                 messageBodyPart.setText("bodypart");
    105                 multipart.addBodyPart(messageBodyPart);
    106 
    107                 // 邮件附件部分
    108                 messageBodyPart = new MimeBodyPart();
    109                 // 设置上传的资源
    110                 DataSource source = new FileDataSource("C:/Users/zsm/Desktop/省级行政图.jpg");
    111                 // 添加到
    112                 messageBodyPart.setDataHandler(new DataHandler(source));
    113                 // 设置文件名称,记得后缀名
    114                 messageBodyPart.setFileName("tmp.jpg");
    115                 multipart.addBodyPart(messageBodyPart);
    116 
    117                 message.setContent(multipart);
    118                 break;
    119             default: {
    120                 System.out.println("要发送的邮件类型错误");
    121                 System.exit(1);
    122             }
    123             }
    124 
    125             // 保存上面添加的信息
    126             message.saveChanges();
    127             // 发送邮件
    128             System.out.println("类型 " + mailType + "开始发送邮件……");
    129             Transport.send(message);
    130             System.out.println("发送成功!");
    131         } catch (Exception e) {
    132             System.out.println("出错");
    133             e.printStackTrace();
    134         }
    135     }
    136 
    137     /**
    138      * @param args
    139      */
    140     public static void main(String[] args) {
    141         new SendEmail().doSendEmail(1);
    142     }
    143 }
    View Code
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    ddd
  • 原文地址:https://www.cnblogs.com/z-sm/p/5857655.html
Copyright © 2011-2022 走看看