1, 引用jar 包
<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.6</version> </dependency>
2, 代码实现, 不解释
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileReader; import java.io.PrintStream; import java.util.Date; import java.util.Properties; import java.util.StringTokenizer; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.BodyPart; import javax.mail.Message.RecipientType; import javax.mail.Multipart; 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; public class EmailSender { private String from = "darren.li@126.com"; private String to = "darren.li@126.com"; private String mail_subject = "TEST"; private String mail_message = "TEST"; private String filename; private String urlPath = ""; private String attachmentFlag; private String messageType = "text"; private String host = "xx.x.x.com"; public static void main(String[] args) throws Exception { if (args.length > 0) try { if (args.length == 1) { Properties properties = new Properties(); BufferedInputStream stream = new BufferedInputStream(new FileInputStream(args[0])); properties.load(stream); stream.close(); EmailSender es = new EmailSender(); es.setFrom(properties.getProperty("ALERT_FROM")); es.setTo(properties.getProperty("ALERT_TO")); es.setHost(properties.getProperty("ALERT_HOST")); es.setMessageType(properties.getProperty("ALERT_TYPE")); es.setMail_subject(properties.getProperty("ALERT_SUBJECT") + new Date().toString()); es.setFilename(properties.getProperty("ALERT_CONTENT")); es.setAttachmentFlag("N"); StringTokenizer stk_to = new StringTokenizer(properties.getProperty("ALERT_TO"), ";"); String mailTo = ""; while (stk_to.hasMoreTokens()) try { mailTo = stk_to.nextToken(); es.setTo(mailTo); String sResult = es.sendMail(); System.out.println("Mail: " + mailTo + ":" + sResult); } catch (Exception e) { System.out.println("Mail: " + mailTo + ":" + e.getMessage()); } return; }EmailSender es = new EmailSender(); es.setFrom(args[0]); es.setTo(args[1]); es.setHost(args[2]); es.setMessageType("file"); es.setMail_subject(args[3]); es.setUrlPath(args[4]); es.setFilename(args[5]); es.setAttachmentFlag("Y"); try { String sResult = es.sendMail(); System.out.println("Mail: " + es.getTo() + ":" + sResult); } catch (Exception e) { System.out.println("Mail: " + es.getTo() + ":" + e.getMessage()); } } catch (Exception e) { System.out.println("Error Message: " + e.getMessage()); } else System.out.println("Usage: emailSender.jar [conf_file] | emailSender.jar [from][to][host][subject][path][file]"); } public String sendMail() throws Exception { String sResult = ""; try { String success = "N"; StringTokenizer stk_to = new StringTokenizer(getTo(), ";"); StringTokenizer stk_from = new StringTokenizer(getFrom(), ";"); Properties props = System.getProperties(); props.put("mail.smtp.host", this.host); props.put("mail.smtp.auth", "false"); Session session = Session.getDefaultInstance(props, null); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress(stk_from.nextToken())); while (stk_to.hasMoreTokens()) { String mailTo = stk_to.nextToken(); message.addRecipient(Message.RecipientType.TO, new InternetAddress(mailTo)); } message.setSubject(getMail_subject()); BodyPart messageBodyPart = new MimeBodyPart(); if ((getAttachmentFlag() != null) && (getAttachmentFlag().equalsIgnoreCase("y"))) { Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); messageBodyPart = new MimeBodyPart(); messageBodyPart.setDataHandler(new DataHandler(new FileDataSource(this.urlPath + this.filename))); messageBodyPart.setFileName(getFilename()); multipart.addBodyPart(messageBodyPart); message.setContent(multipart); } if ((getMessageType() != null) && (getMessageType().equalsIgnoreCase("file"))) { BufferedReader in = new BufferedReader(new FileReader(this.urlPath + this.filename)); String line = null; StringBuffer text = new StringBuffer(); while ((line = in.readLine()) != null) { text.append(line + "\n"); } in.close(); setMail_message(text.toString()); } messageBodyPart.setText(getMail_message()); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); message.setContent(multipart); Transport.send(message); success = "Y"; return sResult + success; } catch (Exception e) { sResult = sResult + " Exception " + e.getMessage(); }return sResult; } public String getFrom() { return this.from; } public void setFrom(String from) { this.from = from; } public String getTo() { return this.to; } public void setTo(String to) { this.to = to; } public String getMail_subject() { return this.mail_subject; } public void setMail_subject(String mail_subject) { this.mail_subject = mail_subject; } public String getMail_message() { return this.mail_message; } public void setMail_message(String mail_message) { this.mail_message = mail_message; } public String getFilename() { return this.filename; } public void setFilename(String filename) { this.filename = filename; } public String getUrlPath() { return this.urlPath; } public void setUrlPath(String urlPath) { this.urlPath = urlPath; } public String getAttachmentFlag() { return this.attachmentFlag; } public void setAttachmentFlag(String attachmentFlag) { this.attachmentFlag = attachmentFlag; } public String getMessageType() { return this.messageType; } public void setMessageType(String messageType) { this.messageType = messageType; } public void setHost(String host) { this.host = host; } public String getHost() { return this.host; } }
3, 测试
java -jar $WKDIR/emailSender.jar ldaolong@126.comldaolong@126.com mail.com "Hello World" $WKDIR/ 12.csv 111
相关推荐
通过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的邮件发送测试工具
基于Maven的javax.mail发送邮件例子程序 pom.xml添加依赖jar: <groupId>javax.mail <artifactId>mail ${javamail.version} </dependency> <javamail.version>1.4.1</javamail.version> /* 功能:...
在Java开发中,`javax.mail`库是一个非常重要的组件,主要用于处理电子邮件的发送与接收。这个库提供了丰富的API,使得开发者能够轻松地实现邮件服务的功能。`javax.mail-1.6.0.jar`是该库的一个特定版本,包含了...
javax.mail.jar-Java发送邮件API。Apache Email基于javax.mail做了一个开源项目,参见:http://commons.apache.org/proper/commons-email/
在Java编程环境中,`javax.mail.jar` 是一个非常重要的库,它提供了用于发送和接收电子邮件的API。这个库是JavaMail API的一部分,主要用于处理SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息...
`javax.mail-1.6.2_javamailjar1.6.2_javamail-1.6.2_javax.mail_java` 这个标题暗示了我们正在讨论的是 JavaMail 的 1.6.2 版本,这是一个稳定且广泛使用的版本。 JavaMail API 提供了一套标准的接口,用于与邮件...
根据提供的文件信息,我们可以深入探讨如何使用`javax.mail`包中的类来实现通过QQ邮箱服务发送电子邮件的功能。这里的关键步骤包括设置SMTP服务器、配置安全连接(如SSL/TLS)、创建邮件会话、构建邮件对象以及最终...
在使用javax.mail.1.4.7.jar时,开发者需要注意兼容性问题,确保所使用的Java版本与JavaMail版本相匹配。此外,由于邮件处理涉及网络通信和安全,因此还需要考虑SSL/TLS加密以及可能的认证机制,如用户名和密码。 ...
Java发送邮件是开发中常见的一项任务,特别是...以上就是Java使用javax.mail.jar和activation.jar发送邮件的基本知识。这两个库的结合使用极大地简化了邮件操作,使得Java开发者能够方便地集成邮件功能到自己的应用中。
总的来说,`javamail1.4.5` 和 `javax.mail-1.5.5.jar` 提供了强大的邮件处理功能,让Java开发者能够轻松地集成邮件功能到他们的应用程序中。选择哪个版本取决于具体项目的需求,包括兼容性、性能和新特性需求。
在Java编程语言中,`javax.mail` 是一个标准的API,用于发送和接收电子邮件。这个API为开发者提供了处理SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息访问协议)等邮件服务的能力。在本篇中,...
`javax.mail` 是Java平台上的一个标准API,用于处理电子邮件通信。这个API提供了一套全面的接口和类,使得开发者可以方便地实现邮件发送、接收、管理邮箱等操作。`javax.mail-1.5.2` 版本是这个库的一个特定发行版,...
采用javax.mail发送邮件,可以发送附件
在Java中,使用javax.mail库可以方便地实现邮件的发送功能,包括添加附件、设置抄送和密送等。 在描述中提到的"带sun的jar包",可能是指早期版本的Java Mail API,它曾包含在Sun Microsystems提供的Java ...
在这个实例中,我们将利用`javax.mail`和`java.activation`这两个Java库来实现JSP发送邮件的功能。这两个库是JavaMail API的一部分,提供了丰富的接口和类,使得我们可以在Java程序中方便地处理邮件的发送和接收。 ...
《Java邮件API(javax.mail)详解》 在Java编程领域,`javax.mail.jar`是一个重要的库文件,它包含了Java Mail API的所有类和接口,用于处理电子邮件的发送和接收。Java Mail API是Java平台上的标准API,它允许开发...
在Java编程环境中,发送电子邮件是一项常见的任务,而`javax.mail`库是Java中处理邮件通信的标准API。这个库提供了一套完整的工具,用于构建能够发送和接收电子邮件的应用程序。在这个场景中,我们主要关注`javax....
`javax.mail.jar` 是Java Mail API的实现,它提供了一套标准的API,用于处理邮件发送和接收。以下是对这个主题的详细说明: 1. **Java Mail API**: Java Mail API 是Java平台上的一个标准API,它允许Java程序与...
在Oracle 11.2.0.4中调用 javax.mail 发送邮件时可能会遇到以下错误: ORA-29532: Java call terminated by uncaught Java exception: javax.mail.MessagingException: IOException while sending message; nested ...