首页 > 代码库 > Java 发送邮件
Java 发送邮件
依赖:
1 <dependency>2 <groupId>javax.mail</groupId>3 <artifactId>mail</artifactId>4 <version>1.4.7</version>5 </dependency>
代码:
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.mamicode.com/"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 args139 */140 public static void main(String[] args) {141 new SendEmail().doSendEmail(1);142 }143 }
Java 发送邮件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。