首页 / JAVA / java发送email
java发送email
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java发送email,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4062字,纯文字阅读大概需要6分钟。
内容图文
![java发送email](/upload/InfoBanner/zyjiaocheng/1105/8a94af91f2ba40d98fee05c08509618f.jpg)
package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; 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; import javax.mail.internet.MimeUtility; public class SendmailUtil { /* * 参考此文章 * http://www.cnblogs.com/xdp-gacl/p/4216311.html * * * smtp.sohu.com 搜狐邮箱主机 * smtp.163.com 163邮箱主机,默认端口25 * smtp.qq.com qq邮箱主机 * */ /* * * from 发件人邮箱 * passwd 发件人邮箱密码 * to 收件人邮箱 * subject 主题 * txt 内容 * files 附件 * host 服务主机 * protocol 协议 (smtp) * auth 身份验证(true) * */ public static boolean send(String from,String passwd,String to, String subject, String txt,List<File> files, String host,String protocol,String auth) { try { Properties prop = new Properties(); prop.setProperty("mail.host", host); prop.setProperty("mail.transport.protocol", protocol); prop.setProperty("mail.smtp.auth", auth); //使用JavaMail发送邮件的5个步骤 //1、创建session Session session = Session.getInstance(prop); //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态 session.setDebug(true); //2、通过session得到transport对象 Transport ts = session.getTransport(); //3、使用邮箱的用户名和密码连上邮件服务器, // 发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器, // 用户名和密码都通过验证之后才能够正常发送邮件给收件人。 ts.connect(host, from, passwd); //4、创建邮件 Message message = createMixedMail(session, from, to, subject, txt, files); //5、发送邮件 ts.sendMessage(message, message.getAllRecipients()); ts.close(); }catch(Exception e) { returnfalse; } returntrue; } /** * 发送文字、附件的邮件 * */publicstatic MimeMessage createMixedMail(Session session,String from,String to,String subject,String txt,List<File> files) throws Exception { //创建邮件 MimeMessage message = new MimeMessage(session); //设置邮件的基本信息 message.setFrom(new InternetAddress(from)); message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject(subject); //正文 MimeBodyPart text = new MimeBodyPart(); text.setContent(txt,"text/html;charset=UTF-8"); //图片 // MimeBodyPart image = new MimeBodyPart(); // image.setDataHandler(new DataHandler(new FileDataSource("src\\check.png"))); // image.setContentID("aaa.jpg"); //附件 List<MimeBodyPart> mimeBodyParts = new ArrayList<MimeBodyPart>(); for(int i=0;i<files.size();i++) { MimeBodyPart attach = new MimeBodyPart(); DataHandler dh = new DataHandler(new FileDataSource(files.get(i))); attach.setDataHandler(dh); attach.setFileName(MimeUtility.encodeWord(dh.getName())); mimeBodyParts.add(attach); } //描述关系:正文和图片 MimeMultipart mp1 = new MimeMultipart(); mp1.addBodyPart(text); // mp1.addBodyPart(image); mp1.setSubType("related"); //描述关系:正文和附件 MimeMultipart mp2 = new MimeMultipart(); for(int i=0;i<mimeBodyParts.size();i++) { mp2.addBodyPart(mimeBodyParts.get(i)); } // mp2.addBodyPart(attach2); //代表正文的bodypart MimeBodyPart content = new MimeBodyPart(); content.setContent(mp1); mp2.addBodyPart(content); mp2.setSubType("mixed"); message.setContent(mp2); message.saveChanges(); // message.writeTo(new FileOutputStream("D:\\MixedMail.eml")); //返回创建好的的邮件return message; } }
package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; public class Main { private static final String HOST = "smtp.163.com"; privatestatic final String PROTOCOL = "smtp"; privatestatic final String AUTH = "true"; privatestatic final String USER_NAME = "135****920@163.com";//发件人邮箱privatestatic final String PASSWORD = "1234";//密码privatestatic final String RECRIVER ="139****893@qq.com";//接收人邮箱publicstaticvoid main(String[] args) { List<File> files = new ArrayList<File>(); File f = new File("src\\备忘.rar"); File f2 = new File("src\\check.png"); files.add(f); files.add(f2); if(SendmailUtil.send(USER_NAME, PASSWORD, RECRIVER, "主题信息", "内容信息", files, HOST, PROTOCOL, AUTH)) { System.out.println("success"); } } }
原文:http://www.cnblogs.com/wwzyy/p/5962097.html
内容总结
以上是互联网集市为您收集整理的java发送email全部内容,希望文章能够帮你解决java发送email所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】