public class MailUtils { private static String host; private static String username; private static String password; private static String port; private static String fromAdr; private static String sendName; // sendName + from 组成邮箱的发件人信息 static { try { host = "smtp.sina.com"; username = "xxxyy@sina.com"; password = "xxx"; port = "465"; fromAdr = "sys@sina.com"; sendName = "测试mail"; } catch (Exception e) { e.printStackTrace(); } } /** * 发送邮件 * @param toAdr 收件人地址,可多个 * @param title 邮件标题 * @param body 主体内容 * @param filepath 附件地址 * @return */ public static boolean sendMail(String toAdr, String title, String body, List<String> filepath) { if (body == null || "".equals(body)) { body = ""; } if (title == null || "".equals(title)) { title = "无主题"; } try { // 创建Properties对象 Properties props = System.getProperties(); // 创建信件服务器 props.setProperty("mail.smtp.host", host); props.setProperty("mail.smtp.auth", "true"); // 通过验证 props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.socketFactory.fallback", "false"); props.setProperty("mail.smtp.port", port); //props.setProperty("mail.smtp.socketFactory.port", "465"); // 得到默认的对话对象 Session session = Session.getDefaultInstance(props, null); // 创建一个消息,并初始化该消息的各项元素 MimeMessage msg = new MimeMessage(session); sendName = MimeUtility.encodeText(sendName); msg.setFrom(new InternetAddress(sendName + "<" + fromAdr + ">")); // 创建收件人列表可多个 if (toAdr != null && toAdr.trim().length() > 0) { String[] arr = toAdr.split(","); int receiverCount = arr.length; if (receiverCount > 0) { InternetAddress[] address = new InternetAddress[receiverCount]; for (int i = 0; i < receiverCount; i++) { System.out.println(arr[i]); address[i] = new InternetAddress(arr[i]); } msg.addRecipients(Message.RecipientType.TO, address); msg.setSubject(title); // 后面的BodyPart将加入到此处创建的Multipart中 Multipart mp = new MimeMultipart(); // 附件操作 if (filepath != null && filepath.size() > 0) { for (String filename : filepath) { MimeBodyPart mbp = new MimeBodyPart(); // 得到数据源 FileDataSource fds = new FileDataSource(filename); // 得到附件本身并至入BodyPart mbp.setDataHandler(new DataHandler(fds)); // 得到文件名同样至入BodyPart mbp.setFileName(fds.getName()); mp.addBodyPart(mbp); } MimeBodyPart mbp = new MimeBodyPart(); mbp.setText(body); mp.addBodyPart(mbp); // 移走集合中的所有元素 filepath.clear(); // Multipart加入到信件 msg.setContent(mp); } else { // 设置邮件正文 msg.setText(body); } // 设置信件头的发送日期 msg.setSentDate(new Date()); msg.saveChanges(); Transport transport = session.getTransport("smtp"); transport.connect(host, username, password); // 发送信件 transport.sendMessage(msg,msg.getRecipients(Message.RecipientType.TO)); transport.close(); System.out.println("发送邮件完毕!"); return true; } else { System.out.println("没有填写收件人!"); return false; } } else { System.out.println("没有填写收件人!"); return false; } } catch(AddressException ae){ System.out.println("地址错误"); }catch(MessagingException me){ }catch(UnsupportedEncodingException ue){ }catch (Exception e) { System.out.println("rr"); e.printStackTrace(); } return false; } public static void main(String[] args) throws AddressException, UnsupportedEncodingException, MessagingException { List<String> filepath = new ArrayList<String>(); filepath.add("D:\\ss.log"); sendMail( "xxxxx@sina.com,sxxx@sina.com", "验证信息邮件", "程序验证邮件_有附件", filepath); } }
注: 要设置邮箱开通SMTP服务。
相关推荐
java mailjava mailjava mailjava mailjava mailjava mailjava mailjava mail
该资源包含了java mail开发所需要的jar,如下: commons-email-1.2-bin.zip commons-email-1.4-bin.zip javamail_1.4.6.zip javamail_1.4.7.zip javax.mail.jar mailapi.jar smtp.jar
java mail 1.4.5 jar包、源代码、doc文档,还有包含所依赖的jaf 1.1.1的jar包和源代码 。
Java Mail.rar 利用其jar包可以利用java发送邮件的功能,javamail是一个非常有用的jar
java mail开发所需jar包:activation.jar,j2ee.jar,mail.jar,放在了lib.rar中
张孝祥的java mail开发教程 Java Mail API的开发是SUN为Java开发者提供公用API框架的持续努力的良好例证。提倡公用框架,反对受限于供应商的解决方案, 充分预示着一个日益开放的开发环境的建立。Java Mail API的...
用java mail发邮件源码,支持多种邮局,支持单发和群发。
NULL 博文链接:https://wenxiang-tune.iteye.com/blog/846379
封装了一个java mail的jar包,只需设置邮件的基本信息 就可发邮件: //这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); mailInfo.setMailServerHost("smtp.163.com"); mailInfo....
用java 开发email 使用的包都有了 mail-1.4.1.jar activation.jar commons-email-1.2.jar commons-email-1.2-javadoc.jar commons-email-1.2-sources.jar
Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)Java...
java mail 邮件发送,可发送附件;多个附件以,号分开;可抄送、密送等多个抄送、密送以,号分开。详细发送DEMO参考SendMailTest.java类: SendMailInfo mailInfo = new SendMailInfo("mail.china1168.com", true, ...
Java mail server, used for development.
基于B/S的邮件系统客户端软件,系统全部使用java编写,Web页面使用EasyJWeb框架开发,主要通过调用java mail实现邮件的收发。 基于B/S的邮件系统客户端软件,系统全部使用java编写,Web页面使用EasyJWeb框架开发,主要通过...
文中使用Java mail API写的邮件收发例子。
Java Mail中文文档 Java Mail中文文档
java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器java mail服务器
java mail 1.4 源码 自己要用就下载了,拿出来分享一下,大家也可以看看java mail 的源码是怎么写的.
javaMail jar包 解压后把activation.jar和javax.mail.jar 拷贝到 WEB-INF/lib 下就可以直接在项目中使用 这是我从官网找了好久找到的jar包,我把下载到的一个api的jar包也放里面了。