import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Multipart; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; /** * 利用java.mail的邮件发送程序 */ public class SendMailService { public static void main(String[] args) { String title = "测试邮件";// 所发送邮件的标题 String from = "lhzqmail@lhzq.com";// 从那里发送 String sendTo[] = { "274575716@qq.com" };// 发送到那里 // 邮件的文本内容,可以包含html标记则显示为html页面 String content = "测试附件"; // 所包含的附件,及附件的重新命名 String fileNames[] = { "D:\\crm.log", "D:\\base.log" }; try { // MailSender mailsender = new MailSender(); sendmail(title, from, sendTo, content, fileNames, "text/html;charset=gb2312"); } catch (Exception ex) { ex.printStackTrace(); } } public static void sendmail(String subject, String from, String[] to, String text, String[] filenames, String mimeType) throws Exception { // ResourceBundle mailProps = ResourceBundle.getBundle("mail"); // 可以从配置文件读取相应的参数 Properties props = new Properties(); String smtp = "192.168.0.66"; // 设置发送邮件所用到的smtp javax.mail.Session mailSession; // 邮件会话对象 javax.mail.internet.MimeMessage mimeMsg; // MIME邮件对象 props = java.lang.System.getProperties(); // 获得系统属性对象 props.put("mail.smtp.host", smtp); // 设置SMTP主机 props.put("mail.smtp.auth", "false"); // 是否到服务器用户名和密码验证 // 设置邮件会话 mailSession = javax.mail.Session.getInstance(props); // 设置传输协议 javax.mail.Transport transport = mailSession.getTransport("smtp"); // 设置from、to等信息 mimeMsg = new javax.mail.internet.MimeMessage(mailSession);// if (from != null && from.length() > 0) { InternetAddress sentFrom = new InternetAddress(from); mimeMsg.setFrom(sentFrom); // 设置发送人地址 } InternetAddress[] sendTo = new InternetAddress[to.length]; for (int i = 0; i < to.length; i++) { sendTo[i] = new InternetAddress(to[i]); } mimeMsg.setRecipients(javax.mail.internet.MimeMessage.RecipientType.TO, sendTo); mimeMsg.setSubject(subject, "utf-8"); MimeBodyPart messageBodyPart1 = new MimeBodyPart(); // messageBodyPart.setText(UnicodeToChinese(text)); messageBodyPart1.setContent(text, mimeType); Multipart multipart = new MimeMultipart();// 附件传输格式 multipart.addBodyPart(messageBodyPart1); for (int i = 0; i < filenames.length; i++) { MimeBodyPart messageBodyPart2 = new MimeBodyPart(); // 选择出每一个附件名 String filename = filenames[i].split(",")[0]; String displayname = filenames[i].split(",")[0]; // 得到数据源 FileDataSource fds = new FileDataSource(filename); // 得到附件本身并至入BodyPart messageBodyPart2.setDataHandler(new DataHandler(fds)); // 得到文件名同样至入BodyPart messageBodyPart2.setFileName(displayname); messageBodyPart2.setFileName(fds.getName()); messageBodyPart2.setFileName(MimeUtility.encodeText(displayname)); multipart.addBodyPart(messageBodyPart2); } mimeMsg.setContent(multipart); // 设置信件头的发送日期 mimeMsg.setSentDate(new Date()); mimeMsg.saveChanges(); // 发送邮件 transport.send(mimeMsg); transport.close(); } }
相关推荐
javax.mail发送邮件
基于javax.mail的邮件发送测试工具
基于Maven的javax.mail发送邮件例子程序 pom.xml添加依赖jar: <groupId>javax.mail <artifactId>mail ${javamail.version} </dependency> <javamail.version>1.4.1 /* 功能:加入了参考文章中没有...
采用javax.mail发送邮件,可以发送附件
java_mail JAVA邮件发送表单 java mail, java send mail form with javax mail sender, build with Gradle , servlet 采用 gradle 管理依赖, junit单元测试, servlet , jsp等技术; 邮件发送账号在统一 的 ...
发邮件程序需要的:javax.mail包
(发送文本不会发送附件,附送Html邮件才会发送附件,接收邮件可以拿到所有未读邮件,已读不会下载,下载时会把附件下载到MailTool中的localPath文件夹下,请确保路径存在) 本人测试输出结果如下: /****************...
通过java扩展包javax.mail-1.4.4.jar实现邮件发送功能。 import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart...
javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/
使用javax.mail发送邮件,协议为smtp,依赖版本为1.4.7
NULL 博文链接:https://lingf.iteye.com/blog/1131542
附件中主要使用javax.mail.jar以及activation.jar进行邮件的发送,demo中编写的方法适用于多收件人、多抄送人、多密送人、多附件格式。运行代码前需修改邮件用户名密码等信息。
JAVA发送邮件demo 代码 及jar包 javax.mail.jar JAVA发送邮件demo 代码 及jar包 javax.mail.jar
JSP发送邮件实例 利用javax.mail和java.activation这两个包. JSP发送邮件实例 利用javax.mail和java.activation这两个包.
在Oracle 11.2.0.4中调用 javax.mail 发送邮件时可能会遇到以下错误: ORA-29532: Java call terminated by uncaught Java exception: javax.mail.MessagingException: IOException while sending message; nested ...
压缩包里面包含的jar包有:activation.jar与javax.mail.jar。JavaMail 发送邮件所需。
基于Javamail开发的带界面的邮件客户端,功能包括包括邮件发送,邮件转发,发送附件,邮件接受,邮件删除,邮件查询等。
用于Java的邮件发送的一个类方法 Java邮件发送类 这是第一部分第一个类:MailSenderInfo.java 1. package com.util.mail; 2. /** 3. * 发送邮件需要使用的基本信息 4. */ 5. import java.util.Properties; 6. ...
转载的资源,java语言写的,利用javax.mail写的上传下载文件的source代码,利用stmp发送邮件,利用pop3接收邮件。一般能上网情况下都可以运行成功,但是注意在公司里由于公司经常会进行一些限制,所以有时候会连接...