首页 > 代码库 > java发送邮件
java发送邮件
在做java发送邮件需要两个jar包.
activation.jar
mail.jar
mailUtils.java
9 import java.io.IOException; 10 11 import java.util.List; 12 13 import java.util.Properties; 14 15 16 17 import javax.mail.Authenticator; 18 19 import javax.mail.Message.RecipientType; 20 21 import javax.mail.MessagingException; 22 23 import javax.mail.PasswordAuthentication; 24 25 import javax.mail.Session; 26 27 import javax.mail.Transport; 28 29 import javax.mail.internet.InternetAddress; 30 31 import javax.mail.internet.MimeBodyPart; 32 33 import javax.mail.internet.MimeMessage; 34 35 import javax.mail.internet.MimeMultipart; 36 37 import javax.mail.internet.MimeUtility; 38 39 40 41 /** 42 43 * 44 45 * @author 本类只有这么一个方法,用来发邮件! 46 47 */ 48 49 public class MailUtils { 50 51 public static Session createSession(String host, final String username, final String password) { 52 53 Properties prop = new Properties(); 54 55 prop.setProperty("mail.host", host);// 指定主机 56 57 prop.setProperty("mail.smtp.auth", "true");// 指定验证为true 58 59 60 61 // 创建验证器 62 63 Authenticator auth = new Authenticator() { 64 65 public PasswordAuthentication getPasswordAuthentication() { 66 67 return new PasswordAuthentication(username, password); 68 69 } 70 71 }; 72 73 // 获取session对象 74 75 return Session.getInstance(prop, auth); 76 77 } 78 79 /** 80 81 * 发送指定的邮件 82 83 * 84 85 * @param mail 86 87 */ 88 89 public static void send(Session session, final Mail mail) throws MessagingException, 90 91 IOException { 92 93 94 95 MimeMessage msg = new MimeMessage(session);// 创建邮件对象 96 97 msg.setFrom(new InternetAddress(mail.getFrom()));// 设置发件人 98 99 msg.addRecipients(RecipientType.TO, mail.getToAddress());// 设置收件人100 101 102 103 // 设置抄送104 105 String cc = mail.getCcAddress();106 107 if (!cc.isEmpty()) {108 109 msg.addRecipients(RecipientType.CC, cc);110 111 }112 113 114 115 // 设置暗送116 117 String bcc = mail.getBccAddress();118 119 if (!bcc.isEmpty()) {120 121 msg.addRecipients(RecipientType.BCC, bcc);122 123 }124 125 126 127 msg.setSubject(mail.getSubject());// 设置主题128 129 130 131 MimeMultipart parts = new MimeMultipart();// 创建部件集对象132 133 134 135 MimeBodyPart part = new MimeBodyPart();// 创建一个部件136 137 part.setContent(mail.getContent(), "text/html;charset=utf-8");// 设置邮件文本内容138 139 parts.addBodyPart(part);// 把部件添加到部件集中140 141 ///////////////////////////////////////////142 143 144 145 // 添加附件146 147 List<AttachBean> attachBeanList = mail.getAttachs();// 获取所有附件148 149 if (attachBeanList != null) {150 151 for (AttachBean attach : attachBeanList) {152 153 MimeBodyPart attachPart = new MimeBodyPart();// 创建一个部件154 155 attachPart.attachFile(attach.getFile());// 设置附件文件156 157 attachPart.setFileName(MimeUtility.encodeText(attach158 159 .getFileName()));// 设置附件文件名160 161 String cid = attach.getCid();162 163 if(cid != null) {164 165 attachPart.setContentID(cid);166 167 }168 169 parts.addBodyPart(attachPart);170 171 }172 173 }174 175 176 177 msg.setContent(parts);// 给邮件设置内容178 179 Transport.send(msg);// 发邮件180 181 }182 183 }184 185
mailUtilTest.java
mailUtilTest.java/* * 1. 登录邮件服务器 * MailUtils.createSession(服务器地址, 登录名, 密码); * 2. 创建邮件对象 * 发件人 * 收件人 * 主题 * 正文 * 3. 发 * 需要第一步得到的session、和第二步的邮件对象 */Session session = MailUtils.createSession(服务器地址, 登录名, 密码);Mail mail = new Mail("发件人", "收件人", "主题", "正文");//发送MailUtils.send(session, mail);
java发送邮件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。