这是一个发送邮件的简单例子,可以上传附件
SimpleMail类:
package com.zsy.sun; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Part; 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; /** * 通过JavaMail发送一封简单的邮件,以及增加附件连接 * @author zsy * @date 2015年1月19日 下午3:41:48 */ public class SimpleMail { //主机 private String host = ""; private String user = ""; private String password = ""; private static Properties props = new Properties(); public String attachmentPath = "C:/Users/Administrator/Desktop/活动1.png"; public static void main(String[] args) { SimpleMail sm = new SimpleMail(); sm.setHost("smtp.163.com"); // 指定要使用的邮件服务器 sm.setAccount("xxxxx@163.com", "**********"); // 指定帐号和密码 sm.send("xxxxx@163.com", "xxxxx@qq.com", "标题", "HelloWold!"); } public void setHost(String host) { this.host = host; } public void setAccount(String user, String password) { this.user = user; this.password = password; } /** * * @param from 发件人地址 * @param to 收件人地址 * @param subject 邮件主题 * @param content 邮件内容 */ public void send(String from, String to, String subject, String content) { props.put("mail.smtp.host", "smtp.163.com"); props.put("mail.smtp.auth", true); try { //提供配置以及初始化JavaMail,不与邮件服务器交互 Session mailSession = Session.getDefaultInstance(props); //创建需要传递的消息 Message message = new MimeMessage(mailSession); message.setFrom(new InternetAddress(from)); // 发件人 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 收件人 message.setSubject(subject); // 邮件主题 //message.setText(content); 邮件内容 /* * 附件上传 */ MimeBodyPart mbp1 = new MimeBodyPart(); FileDataSource fds2 = new FileDataSource(attachmentPath); DataHandler dh2 = new DataHandler(fds2); mbp1.setDataHandler(dh2); mbp1.setFileName(MimeUtility.encodeText(fds2.getName())); MimeBodyPart mbp2 = new MimeBodyPart(); mbp2.setContent(content.toString(), "text/html;charset=gb2312"); //增加邮件内容 Multipart mp = new MimeMultipart(); mp.addBodyPart(mbp1); mp.addBodyPart(mbp2); message.setContent(mp); message.saveChanges(); /* * Session根据协议类型(stmp、pop3等)和邮件操作方式(传输和存储)这两个信息就可以定位到一个实例类上。 * 比如,指定stmp协议和transport类型后, * Session就会使用com.sun.mail.smtp.SMTPTransport实现类创建一个Transport实例, * 而指定pop3协议和store类型时,则会使用com.sun.mail.pop3.POP3Store实例类创建一个Store实例。 */ Transport transport = mailSession.getTransport("smtp"); transport.connect(host, user, password); transport.sendMessage(message, message.getAllRecipients()); transport.close(); } catch(Exception e) { System.out.println(e); } } /*private static Properties createProperties(){ InputStream is = null; try { is = SimpleMail.class.getResourceAsStream("/com/zsy/config/mail.properties"); props.load(is); is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return props; }*/ }
更详细的参数以及相关内容,请参考【zapldy】大大的文章,JavaMail发送和接收邮件:http://blog.csdn.net/zapldy/article/details/3971579
相关推荐
这个入门教程将带你了解如何使用 JavaMail 来发送简单的文本邮件。在开始之前,你需要确保已经添加了 JavaMail 相关的库,这里提到的 "lib" 文件可能包含了这些必要的 JAR 包。 首先,你需要引入 JavaMail 的核心库...
本教程将向你展示如何利用JavaMail API实现简单的邮件发送功能,非常适合初学者入门。 首先,我们需要引入JavaMail的相关依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
初学javamail的时候,弄了好久都没成功的例子,现在成功了和大家分享下,希望对刚入门的朋友有所帮助。本例是用qq邮箱运行的,所以发送端的邮箱smtp服务必须开启,接受端无需任何设置!导入成功后,直接运行...
这个“javaMailDemo”项目是一个适合初学者入门的示例,它演示了如何使用 JavaMail API 实现基本的邮件功能。在这个简单的示例中,你将学习到如何配置 JavaMail 的环境,创建邮件消息,以及如何通过 SMTP(简单邮件...
07-RMI-HelloWorld则是一个简单的RMI入门示例,帮助初学者理解RMI的工作原理。 3. **SMTP(Simple Mail Transfer Protocol)**:12-SMTP-Example是使用JavaMail API发送邮件的示例。SMTP协议定义了电子邮件的传输...
8. **JavaMail**和**JMS**:JavaEE6提供了JavaMail API来处理电子邮件,以及Java Message Service(JMS)API用于消息队列通信,这两者都是企业级应用中常见的通信机制。 9. **WebSocket**:虽然JavaEE6本身不包含...
这个"java mail demo"是一个入门级别的程序示例,旨在帮助初学者了解如何使用Java Mail API来实现邮件功能。在这个例子中,我们使用的是QQ邮箱,并且需要预先在QQ邮箱的设置中开启POP3服务。 POP3(Post Office ...
第六天,教程讲解了JavaMail API的使用,演示了如何通过servlet发送电子邮件,这对于构建交互式Web应用非常实用。 第七、八、九天的学习内容没有给出具体的文件名,但可以推测可能涉及了更高级的JAVA和JSP主题,如...
JavaEE(Java企业版)API则扩展了JavaSE,增加了对企业级应用的支持,如数据库连接(JDBC)、持久化(JPA)、Web服务(JAX-WS、JAX-RS)、会话管理(Servlet、JSP)和邮件服务(JavaMail)。例如,`javax.servlet`包...
<br>AOP 入门 AOP 的观念与术语都不是很直觉,可以先从代理机制(Spring 实现 AOP 的一种方式)来看看实际的例子,从而了解 AOP 的观念与各种术语。 从代理机制初探 AOP 动态代理 <br>AOP 观念与...
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java...附录A JavaMail发送邮件 附录B 在Spring中开发Web Service
Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring3.0引入了众多Java...附录A JavaMail发送邮件 附录B 在Spring中开发Web Service