1、服务接口
2、服务接口实现
3、服务配置
- package com.*.email.service;
- /**
- * Description : 邮件相关服务接口.
- * Create Time : 2013年12月2日 上午10:08:42
- * Copyright : Copyright (c) 2010 - 2013 All rights reserved.
- *
- * @author Mr Yan
- * @version 1.0
- */
- public interface EmailService {
- /**
- * 发送邮件
- * @param mailto 收件邮箱
- * @param fromEmail 发送邮箱
- * @param text 内容
- * @param title 标题
- * @throws Exception
- */
- public void sendMail(String mailto, String fromEmail, String text, String title) throws Exception;
- /**
- * 批量下发邮件
- * @param mailto 收件邮箱
- * @param fromEmail 发送邮箱
- * @param text 内容
- * @param title 标题
- * @throws Exception
- */
- public void sendBatchMail(String[] mailto, String fromEmail, String text, String title) throws Exception;
- /**
- * 批量下发邮件待附件
- * @param mailto 收件邮箱
- * @param fromEmail 发送邮箱
- * @param text 内容
- * @param title 标题
- * @param filePath 附件
- * @throws Exception
- */
- public void sendBatchMailWithFile(String[] mailto, String fromEmail, String text, String title, String[] filePath) throws Exception;
- }
package com.*.email.service; /** * Description : 邮件相关服务接口. * Create Time : 2013年12月2日 上午10:08:42 * Copyright : Copyright (c) 2010 - 2013 All rights reserved. * * @author Mr Yan * @version 1.0 */ public interface EmailService { /** * 发送邮件 * @param mailto 收件邮箱 * @param fromEmail 发送邮箱 * @param text 内容 * @param title 标题 * @throws Exception */ public void sendMail(String mailto, String fromEmail, String text, String title) throws Exception; /** * 批量下发邮件 * @param mailto 收件邮箱 * @param fromEmail 发送邮箱 * @param text 内容 * @param title 标题 * @throws Exception */ public void sendBatchMail(String[] mailto, String fromEmail, String text, String title) throws Exception; /** * 批量下发邮件待附件 * @param mailto 收件邮箱 * @param fromEmail 发送邮箱 * @param text 内容 * @param title 标题 * @param filePath 附件 * @throws Exception */ public void sendBatchMailWithFile(String[] mailto, String fromEmail, String text, String title, String[] filePath) throws Exception; }
2、服务接口实现
- package com.*.email.service.impl;
- import java.util.ArrayList;
- import java.util.List;
- import javax.activation.DataHandler;
- import javax.activation.FileDataSource;
- import javax.annotation.Resource;
- import javax.mail.BodyPart;
- import javax.mail.Message;
- import javax.mail.Multipart;
- 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;
- import org.springframework.mail.javamail.JavaMailSenderImpl;
- import org.springframework.mail.javamail.MimeMessageHelper;
- import org.springframework.stereotype.Service;
- import com.*.email.service.EmailService;
- /**
- * Description : 邮件相关服务接口实现.
- * Create Time : 2013年12月2日 上午10:10:25
- * Copyright : Copyright (c) 2010 - 2013 All rights reserved.
- *
- * @author Mr Yan
- * @version 1.0
- */
- @Service
- public class EmailServiceImpl implements EmailService{
- @Resource(name = "javaMailSender")
- private JavaMailSenderImpl javaMailSender;
- class EmailThread extends Thread {
- private final MimeMessage mimeMessage;
- public EmailThread(MimeMessage mimeMessage) {
- this.mimeMessage = mimeMessage;
- }
- @Override
- public void run() {
- javaMailSender.send(mimeMessage);
- }
- }
- @Override
- public void sendMail(String mailto, String fromEmail, String text, String title) throws Exception {
- fromEmail = javaMailSender.getUsername();
- MimeMessage mimeMessage = javaMailSender.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
- messageHelper.setFrom(new InternetAddress(fromEmail));
- messageHelper.setSubject(title);
- messageHelper.setText(text, true);
- messageHelper.setTo(new InternetAddress(mailto));
- mimeMessage = messageHelper.getMimeMessage();
- EmailThread et = new EmailThread(mimeMessage);
- et.start();
- }
- @Override
- public void sendBatchMail(String[] mailto, String fromEmail, String text, String title) throws Exception {
- MimeMessage mimeMessage = javaMailSender.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
- messageHelper.setFrom(new InternetAddress(fromEmail));
- messageHelper.setSubject(title);
- messageHelper.setText(text, true);
- List<InternetAddress> list = new ArrayList<InternetAddress>();
- for (int i = 0; i < mailto.length; i++) {
- list.add(new InternetAddress(mailto[i]));
- }
- InternetAddress[] address = list.toArray(new InternetAddress[list.size()]);
- mimeMessage.setRecipients(Message.RecipientType.TO, address);
- mimeMessage = messageHelper.getMimeMessage();
- EmailThread et = new EmailThread(mimeMessage);
- et.start();
- }
- @Override
- public void sendBatchMailWithFile(String[] mailto, String fromEmail, String text, String title, String[] filePath) throws Exception {
- MimeMessage mimeMessage = javaMailSender.createMimeMessage();
- MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
- messageHelper.setFrom(new InternetAddress(MimeUtility.encodeText(fromEmail)));
- messageHelper.setSubject(title);
- if (filePath != null) {
- BodyPart mdp = new MimeBodyPart();// 新建一个存放信件内容的BodyPart对象
- mdp.setContent(text, "text/html;charset=UTF-8");// 给BodyPart对象设置内容和格式/编码方式
- Multipart mm = new MimeMultipart();// 新建一个MimeMultipart对象用来存放BodyPart对象
- mm.addBodyPart(mdp);// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
- // 把mm作为消息对象的内容
- MimeBodyPart filePart;
- FileDataSource filedatasource;
- // 逐个加入附件
- for (int j = 0; j < filePath.length; j++) {
- filePart = new MimeBodyPart();
- filedatasource = new FileDataSource(filePath[j]);
- filePart.setDataHandler(new DataHandler(filedatasource));
- try {
- filePart.setFileName(MimeUtility.encodeText(filedatasource.getName()));
- } catch (Exception e) {
- e.printStackTrace();
- }
- mm.addBodyPart(filePart);
- }
- mimeMessage.setContent(mm);
- } else {
- messageHelper.setText(text, true);
- }
- List<InternetAddress> list = new ArrayList<InternetAddress>();
- for (int i = 0; i < mailto.length; i++) {
- list.add(new InternetAddress(mailto[i]));
- }
- InternetAddress[] address = list.toArray(new InternetAddress[list.size()]);
- mimeMessage.setRecipients(Message.RecipientType.TO, address);
- mimeMessage = messageHelper.getMimeMessage();
- EmailThread et = new EmailThread(mimeMessage);
- et.start();
- }
- }
package com.*.email.service.impl; import java.util.ArrayList; import java.util.List; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.annotation.Resource; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; 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; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import com.*.email.service.EmailService; /** * Description : 邮件相关服务接口实现. * Create Time : 2013年12月2日 上午10:10:25 * Copyright : Copyright (c) 2010 - 2013 All rights reserved. * * @author Mr Yan * @version 1.0 */ @Service public class EmailServiceImpl implements EmailService{ @Resource(name = "javaMailSender") private JavaMailSenderImpl javaMailSender; class EmailThread extends Thread { private final MimeMessage mimeMessage; public EmailThread(MimeMessage mimeMessage) { this.mimeMessage = mimeMessage; } @Override public void run() { javaMailSender.send(mimeMessage); } } @Override public void sendMail(String mailto, String fromEmail, String text, String title) throws Exception { fromEmail = javaMailSender.getUsername(); MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); messageHelper.setFrom(new InternetAddress(fromEmail)); messageHelper.setSubject(title); messageHelper.setText(text, true); messageHelper.setTo(new InternetAddress(mailto)); mimeMessage = messageHelper.getMimeMessage(); EmailThread et = new EmailThread(mimeMessage); et.start(); } @Override public void sendBatchMail(String[] mailto, String fromEmail, String text, String title) throws Exception { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); messageHelper.setFrom(new InternetAddress(fromEmail)); messageHelper.setSubject(title); messageHelper.setText(text, true); List<InternetAddress> list = new ArrayList<InternetAddress>(); for (int i = 0; i < mailto.length; i++) { list.add(new InternetAddress(mailto[i])); } InternetAddress[] address = list.toArray(new InternetAddress[list.size()]); mimeMessage.setRecipients(Message.RecipientType.TO, address); mimeMessage = messageHelper.getMimeMessage(); EmailThread et = new EmailThread(mimeMessage); et.start(); } @Override public void sendBatchMailWithFile(String[] mailto, String fromEmail, String text, String title, String[] filePath) throws Exception { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); messageHelper.setFrom(new InternetAddress(MimeUtility.encodeText(fromEmail))); messageHelper.setSubject(title); if (filePath != null) { BodyPart mdp = new MimeBodyPart();// 新建一个存放信件内容的BodyPart对象 mdp.setContent(text, "text/html;charset=UTF-8");// 给BodyPart对象设置内容和格式/编码方式 Multipart mm = new MimeMultipart();// 新建一个MimeMultipart对象用来存放BodyPart对象 mm.addBodyPart(mdp);// 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart) // 把mm作为消息对象的内容 MimeBodyPart filePart; FileDataSource filedatasource; // 逐个加入附件 for (int j = 0; j < filePath.length; j++) { filePart = new MimeBodyPart(); filedatasource = new FileDataSource(filePath[j]); filePart.setDataHandler(new DataHandler(filedatasource)); try { filePart.setFileName(MimeUtility.encodeText(filedatasource.getName())); } catch (Exception e) { e.printStackTrace(); } mm.addBodyPart(filePart); } mimeMessage.setContent(mm); } else { messageHelper.setText(text, true); } List<InternetAddress> list = new ArrayList<InternetAddress>(); for (int i = 0; i < mailto.length; i++) { list.add(new InternetAddress(mailto[i])); } InternetAddress[] address = list.toArray(new InternetAddress[list.size()]); mimeMessage.setRecipients(Message.RecipientType.TO, address); mimeMessage = messageHelper.getMimeMessage(); EmailThread et = new EmailThread(mimeMessage); et.start(); } }
3、服务配置
- <bean name="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
- <property name="host" value="smtp.163.com" />
- <property name="defaultEncoding" value="UTF-8"></property>
- <property name="username" value="username@163.com"></property>
- <property name="password" value="password"></property>
- <property name="javaMailProperties">
- <map>
- <entry key="mail.smtp.auth" value="true" />
- </map>
- </property>
- </bean>
<bean name="javaMailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="smtp.163.com" /> <property name="defaultEncoding" value="UTF-8"></property> <property name="username" value="username@163.com"></property> <property name="password" value="password"></property> <property name="javaMailProperties"> <map> <entry key="mail.smtp.auth" value="true" /> </map> </property> </bean>
相关推荐
javamail测试类,支持新浪,163,qq方式,下载资源注意上传时间
根据提供的文件信息,我们可以分析出该文件主要涉及的是JavaMail的使用以及部分涉及到Struts框架的应用。虽然实际的JavaMail代码未完整展示出来,但从文件的结构和其他线索中,我们仍可以提炼出以下相关的知识点: ...
这是一个 JavaMail 测试程序。 我需要用这个应用程序测试服务器环境。 这个怎么运作? 这个项目提供了可执行的fat jar,包括javamail impl。 用法? $ java -Dmail.smtp.host=localhost -jar javamail-checker-...
一个javamail发送邮件的实例,如果运用于web项目,注意版本冲突的问题.j2ee 1.5 中的mail包中的有个类和mail.jar有冲突,将1.5中mail包中的类删除即可.但是1.4是没有问题的.
以下是一个基本的JavaMail测试代码示例,展示了如何发送一个简单的文本邮件: ```java import javax.mail.*; import javax.mail.internet.*; public class MailTest { public static void main(String[] args) { ...
message.setSubject("JavaMail测试邮件"); // 设置邮件内容 message.setText("这是一封来自JavaMail的测试邮件。"); // 发送邮件 Transport.send(message); System.out.println("邮件已发送成功!"); } ...
message.setSubject("JavaMail测试邮件"); message.setText("这是一封由JavaMail发送的测试邮件。"); // 发送邮件 Transport.send(message); System.out.println("邮件已成功发送!"); } } ``` 在这个例子中...
message.setText("这是一封使用 JavaMail 发送的测试邮件。"); Transport.send(message); System.out.println("邮件已成功发送!"); } catch (MessagingException e) { e.printStackTrace(); } } } ``` 在...
message.setSubject("JavaMail测试邮件"); message.setText("这是一封来自163邮箱到QQ邮箱的测试邮件,使用了JavaMail API发送。"); ``` 最后,通过Transport类的send方法发送邮件: ```java Transport.send...
message.setSubject("JavaMail测试邮件"); // 主题 message.setText("这是一封来自JavaMail的测试邮件。"); // 邮件内容 // 发送邮件 Transport.send(message); System.out.println("邮件已发送成功!"); } ...
message.setSubject("JavaMail测试邮件"); message.setText("这是使用JavaMail发送的测试邮件。"); ``` 最后,使用`Transport`类发送邮件: ```java Transport.send(message); System.out.println("邮件已成功发送...
message.setSubject("JavaMail测试邮件"); message.setText("这是一封来自JavaMail的测试邮件。"); // 连接SMTP服务器并发送邮件 Transport.send(message); System.out.println("邮件已发送成功!"); } } ``...
String subject = "JavaMail测试邮件"; // 主题 String body = "这是使用JavaMail发送的测试邮件。"; // 邮件内容 Properties props = System.getProperties(); props.put("mail.smtp.host", "smtp.example....
message.setSubject("JavaMail测试邮件"); // 邮件主题 message.setText("这是一封使用 JavaMail 发送的测试邮件。"); // 邮件内容 // 发送邮件 Transport.send(message); System.out.println("邮件已成功...
JavaMail项目介绍 程序功能 用户注册,通过邮箱激活账号 程序下载: 程序简要说明: 用户注册页面,填写基本信息包括用户名密码邮箱等,点击注册向用户邮箱发送激活邮件,点击邮件中的链接实现激活账号。 具体实现:...
这个“javamail邮件发送接收测试”是开发者在学习过程中创建的一个测试项目,旨在帮助理解和实践 JavaMail 的核心功能。通过这个项目,我们可以深入理解如何使用 JavaMail API 来实现邮件的发送和接收。 JavaMail ...
message.setSubject("JavaMail测试邮件"); message.setText("这是一封由JavaMail发送的测试邮件。"); ``` 4. **发送邮件**:使用Transport类的send方法发送邮件。 ```java Transport.send(message); ``` ...
对javaMail发送邮件进行了详细的说明,具体代码可以实现相应功能;同时对接收邮箱进行了测试连接。
JavaMail 是一个开源库,它为Java程序员提供了一组API,用于处理电子邮件的发送和接收。这个"javamail使用demo示例"是JavaMail官方提供的一个实例集合,旨在帮助开发者更好地理解和应用JavaMail库。下面我们将深入...
JavaMail 是一个开源的 Java API,它允许 Java 程序员通过 SMTP、POP3 或 ...这个压缩包提供的资源对于初学者或者需要快速实现邮件功能的开发者来说非常有用,可以直接运行测试代码,理解并实践 JavaMail API 的使用。