`
demojava
  • 浏览: 554651 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java发送电子邮件代码

    博客分类:
  • JAVA
阅读更多
package com.baobaotao.service;

import java.util.HashMap;
import java.util.Map;

import javax.mail.BodyPart;
import javax.mail.MessagingException;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

import org.springframework.core.io.ClassPathResource;
import org.springframework.core.task.TaskExecutor;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.mail.javamail.MimeMessagePreparator;
import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;

import freemarker.template.Template;
public class MailService {
 private JavaMailSender sender;

 public void setSender(JavaMailSender sender) {
  this.sender = sender;
 }
 public void sendSimpleMail(int userId) {
  SimpleMailMessage msg = new SimpleMailMessage();
  msg.setFrom("masterspring2@sina.com");
  msg.setTo("masterspring2@gmail.com");
  msg.setReplyTo("masterspring2@sina.com");
  msg.setFrom("masterspring2@gmail.com");
  msg.setTo("masterspring2@sina.com");
  msg.setReplyTo("masterspring2@gmail.com");
  msg.setCc("masterspring2@163.com");
  msg.setSubject("注册成功");
  msg.setText("恭喜,您在宝宝淘论坛已经注册成功!您的用户ID为:" + userId);
  sender.send(msg);
 }
 public void sendHtmlMail(int userId) throws MessagingException {
  MimeMessage msg = sender.createMimeMessage();
  MimeMessageHelper helper = new MimeMessageHelper(msg, false, "utf-8");
  helper.setFrom("masterspring2@sina.com");
  helper.setTo("masterspring2@gmail.com");
  helper.setSubject("注册成功");
  String htmlText = "<html><head>"
    + "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"
    + "</head><body>" + "恭喜,您在宝宝淘论坛已经注册成功!您的用户ID为:"
    + "<font size='20' size='30'>" + userId + "</font>"
    + "<body></html>";
  helper.setText(htmlText, true);
  sender.send(msg);
 }

 public void sendInlineMail() throws MessagingException {
  MimeMessage msg = sender.createMimeMessage();
  MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
  helper.setFrom("masterspring2@sina.com");
  helper.setTo("masterspring2@gmail.com");
  helper.setSubject("注册成功");
  String htmlText = "<html><head>"
    + "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"
    + "</head><body>" + "欢迎访问宝宝淘论坛!</hr>"
    + "<div><img src=\"cid:img01\"></img></div>" + "<body></html>";
  helper.setText(htmlText, true);
  ClassPathResource img = new ClassPathResource("bbt.gif");
  helper.addInline("img01", img);
  sender.send(msg);
 }

 public void sendAttachmentMail() throws Exception {
  MimeMessage msg = sender.createMimeMessage();
  MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
  helper.setFrom("masterspring2@sina.com");
  helper.setTo("masterspring2@gmail.com");
  helper.setSubject("注册成功");
  helper.setText("欢迎访问宝宝淘论坛!");
  ClassPathResource file1 = new ClassPathResource("bbt.zip");
  helper.addAttachment("file01.zip", file1.getFile());
  ClassPathResource file2 = new ClassPathResource("file.doc");
  helper.addAttachment("file02.doc", file2.getFile());
  sender.send(msg);
 }

 public void sendAlternativeMail() throws Exception {
  MimeMessagePreparator mmp = new MimeMessagePreparator() {
   public void prepare(MimeMessage msg) throws Exception {
    MimeMessageHelper helper = new MimeMessageHelper(msg, true,
      "utf-8");
    helper.setFrom("masterspring2@sina.com");
    helper.setTo("masterspring2@gmail.com");
    helper.setSubject("注册成功");

    MimeMultipart mmPart = new MimeMultipart("alternative");
    msg.setContent(mmPart);

    BodyPart plainTextPart = new MimeBodyPart();
    plainTextPart.setText("欢迎访问宝宝淘论坛!");
    mmPart.addBodyPart(plainTextPart);

    BodyPart htmlPart = new MimeBodyPart();
    String htmlText = "<html><head>"
      + "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"
      + "</head><body><font size='20' size='30'>"
      + "欢迎访问宝宝淘论坛</font>" + "<body></html>";
    htmlPart.setContent(htmlText, "text/html;charset=utf-8");
    mmPart.addBodyPart(htmlPart);
   }
  };
  sender.send(mmp);
 }

 private FreeMarkerConfigurer freeMarkerConfigurer = null;
 public void setFreeMarkerConfigurer(
   FreeMarkerConfigurer freeMarkerConfigurer) {
  this.freeMarkerConfigurer = freeMarkerConfigurer;
 }
 public void sendTemplateMail(int userId) throws MessagingException {

  MimeMessage msg = sender.createMimeMessage();
  MimeMessageHelper helper = new MimeMessageHelper(msg, false, "utf-8");
  helper.setFrom("masterspring2@sina.com");
  helper.setTo("masterspring2@gmail.com");
  helper.setSubject("注册成功:基于模板");
  String htmlText = getMailText(userId);
  helper.setText(htmlText, true);
  sender.send(msg);
 }
 private String getMailText(int userId) {
  String htmlText = null;
  try {
   Template tpl = freeMarkerConfigurer.getConfiguration().getTemplate(
     "registerUser.ftl");
   Map map = new HashMap();
   map.put("userId", userId);
   htmlText = FreeMarkerTemplateUtils.processTemplateIntoString(tpl,
     map);
  } catch (Exception e) {
   throw new RuntimeException(e);
  }
  return htmlText;
 }

 private TaskExecutor taskExecutor;
 public void setTaskExecutor(TaskExecutor taskExecutor) {
  this.taskExecutor = taskExecutor;
 }
 public void sendAsyncMail(final int userId) {
  taskExecutor.execute(new Runnable() {
   public void run() {
    try {
     sendTemplateMail(userId);
     System.out.println("邮件发送成功!");
    } catch (Exception e) {
     System.out.println("邮件发送失败!,异常信息:" + e.getMessage());
    }
   }
  });
 }
}

 

分享到:
评论

相关推荐

    Java发送电子邮件代码说明

    mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送mail发送...

    JAVA+发送电子邮件源代码学习

    本资源提供了关于使用Java发送电子邮件的源代码学习资料,让我们深入探讨这个主题。 首先,我们需要理解JavaMail API,它是Java平台上的一个标准API,用于处理邮件通信。JavaMail API包括了多个组件,如`javax.mail...

    java发送电子邮件

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输等场景中。这个话题主要涉及JavaMail API和JavaBeans Activation Framework (JAF)。JavaMail API是用于处理电子邮件的Java库,而JAF则...

    java电子邮件收发系统 java源代码

    java开发的电子邮件收发应用程序。包括邮件的发送、阅读、和删除功能。当然还可以添加联系人,联系人是采用xml文档保存的。本邮件系统当有新邮件到达时可以提示,并且系统托盘中的邮件图标会闪动。本邮件系统是本人...

    java 发送电子邮件

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、报表发送或者用户注册验证等场景中。JavaMail API 是Java平台上的一个标准库,它提供了用于发送和接收电子邮件的功能。在这个主题中,我们将深入探讨如何使用...

    java 发送本地邮件代码

    在Java编程语言中,发送邮件是一项...以上就是使用Java发送本地邮件的基本流程和关键知识点。导入`mail.jar`库文件和`Java发邮件代码.java`,你可以直接在你的项目中复用这段代码,只需配置好相应的SMTP服务器信息。

    java发送电子邮件jar包和实例

    在你提到的“java发送电子邮件jar包和实例”中,很可能包含的是JavaMail API的jar文件以及两个示例代码,帮助开发者理解如何使用API来发送邮件。 JavaMail API主要由以下组件组成: 1. javax.mail-api.jar:这是...

    java发邮件代码

    在Java编程语言中,发送电子邮件是一项常见的任务,尤其对于开发者来说,这可能是自动化通知、数据报告或用户验证等场景下的必备功能。JavaMail API提供了一个强大的接口,使得开发者能够轻松地构建邮件发送功能。本...

    用java发送电子邮件

    要用Java发送电子邮件,你需要引入以下两个JAR文件: - `javax.mail.jar`:包含JavaMail API的核心类。 - `javax.activation.jar`(或`activation.jar`):包含了数据处理和类型识别的类,是JavaMail API的必要...

    Java发送outlook邮件

    在IT行业中,使用编程语言发送电子邮件是一项常见的任务,特别是在自动化脚本或系统集成中。Java作为广泛应用的编程语言,提供了多种方法来发送邮件,包括通过Outlook和Notes客户端。在这个场景下,我们将深入探讨...

    JAVA电子邮件系统

    Java电子邮件系统是一个基于Java技术构建的Web应用程序,主要用于学习和理解电子邮件系统的实现原理。这个系统可以让初学者了解如何在互联网上发送和接收电子邮件,以及如何处理邮件附件等基本功能。以下是一些关于...

    java实现邮件发送代码

    首先,JavaMail API是Java平台上的标准库,用于处理电子邮件。要发送邮件,我们需要引入`javax.mail`和`javax.mail.internet`这两个包。以下是使用JavaMail API发送邮件的基本步骤: 1. **导入必要的库**:在Java...

    JAVA发送邮件示例代码

    在Java编程语言中,发送电子邮件是一项常见的任务,尤其在自动化通知、系统日志报告或用户交互等场景下。本文将详细讲解如何使用Java发送邮件,包括所需的库、基本概念以及实际示例代码。 首先,JavaMail API是Java...

    java电子邮件系统

    Java电子邮件系统是基于Java编程语言开发的用于发送、接收和管理邮件的应用程序。这个系统通常利用JavaMail API来实现SMTP(简单邮件传输协议)和POP3(邮局协议)等邮件服务标准,使得用户能够通过编程接口进行邮件...

    java简单电子邮件客户端

    Java简单电子邮件客户端是一个基于Java编程语言开发的轻量级应用,它允许用户通过可视化的界面发送和接收电子邮件。这个Demo项目展示了如何利用JavaMail API来实现SMTP(Simple Mail Transfer Protocol)和POP3...

    java mail 发送邮件代码与架包

    Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和操作邮件。这个API提供了广泛的协议支持,包括SMTP(简单邮件传输协议)用于发送邮件,POP3和IMAP4用于接收邮件。在Java Mail中,...

    JAVA 发送电子邮件

    以下是使用Java发送电子邮件的基本步骤: 1. **建立SMTP连接**:创建一个`Socket`对象并连接到SMTP服务器,通常默认端口为25,SSL/TLS加密时可能为465或587。 2. **身份验证**:与SMTP服务器进行对话,发送登录...

Global site tag (gtag.js) - Google Analytics