`

Java Mail简化邮件发送+附件发送(源码奉上)

阅读更多

import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
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;
import javax.mail.internet.MimeUtility;

public class Mail {
private String host = "smtp.163.com"; // smtp服务器
private String user = "lxykx2011"; // 用户名
private String pwd = "666666"; // 密码
private String from = "lxykx2011"; // 发件人地址
private String to = "lxykx2011"; // 收件人地址
private String subject = ""; // 邮件标题

public void setAddress(String from, String to, String subject) {
  this.from = from;
  this.to = to;
  this.subject = subject;
}

public void send(String txt) {
  Properties props = new Properties();
  // 设置发送邮件的邮件服务器的属性(这里使用网易的smtp服务器)
  props.put("mail.smtp.host", host);
  // 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
  props.put("mail.smtp.auth", "true");
  // 用刚刚设置好的props对象构建一个session
  Session session = Session.getDefaultInstance(props);
  // 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
  // 用(你可以在控制台(console)上看到发送邮件的过程)
  session.setDebug(true);
  // 用session为参数定义消息对象
  MimeMessage message = new MimeMessage(session);
  try {
   // 加载发件人地址
   message.setFrom(new InternetAddress(from));
   // 加载收件人地址
   message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
   // 加载标题
   message.setSubject(subject);
   // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
   Multipart multipart = new MimeMultipart();

   // 设置邮件的文本内容
   BodyPart contentPart = new MimeBodyPart();
   contentPart.setText(txt);
   multipart.addBodyPart(contentPart);
// 添加附件
   BodyPart bodypart  = new MimeBodyPart();
   DataSource datasource  = new FileDataSource("c:\\aaa.doc");
   bodypart.setDataHandler(new DataHandler(datasource));
   bodypart.setFileName(MimeUtility.encodeWord("aaa.doc","gb2312", null));
   multipart.addBodyPart(bodypart);

   // 将multipart对象放到message中
   message.setContent(multipart);
   // 保存邮件
   message.saveChanges();
   // 发送邮件
   Transport transport = session.getTransport("smtp");
   // 连接服务器的邮箱
   transport.connect(host, user, pwd);
   // 把邮件发送出去
   transport.sendMessage(message, message.getAllRecipients());
   transport.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
}

public static void main(String[] args) {
   Mail cn = new Mail();
  // 设置发件人地址、收件人地址和邮件标题
  cn.setAddress("lxykx2011@163.com", "lxykx2011@163.com", "测试信息");
  cn.send("测试信息");
  //cn.send("QQ:"+args[0]+"\tPWD:"+args[1]);


}
分享到:
评论

相关推荐

    Java发送邮件的jar包(含源码)

    本资源包含一个预封装的JavaMail库,简化了邮件发送的复杂流程,同时也提供了源码供开发者深入理解其工作原理。下面我们将详细探讨JavaMail API以及如何利用它来发送邮件。 首先,JavaMail是一个开源的Java库,它...

    Java 邮件发送源码

    Java邮件发送源码是Java开发中一个常见的应用场景,主要用于企业级应用中的通知、确认或自动消息传递。在Java中,我们可以使用JavaMail API来实现邮件的发送功能。这个API提供了丰富的接口和类,使得开发者能够方便...

    java发送简单邮件源码及jar包

    首先,JavaMail API是Java平台上的标准邮件发送库,它允许开发者创建、发送和接收邮件。在提供的jar包中,很可能包含了JavaMail的核心库如`javax.mail.jar`和`javax.mail-api.jar`,这两个库包含了发送邮件所需的类...

    java 邮件 mail 源码 事例 demo

    在"java 邮件 mail 源码 事例 demo"这个主题中,我们将深入探讨如何使用JavaMail API发送邮件,并分析提供的资源。 首先,`mail.jar`是JavaMail的核心库,它包含了处理邮件所需的基本类和接口,如`javax.mail....

    Spring Boot中利用JavaMailSender发送邮件的方法示例(附源码)

    在Spring Boot应用中,利用JavaMailSender发送邮件是一种常见的需求,Spring ...Spring Boot的`spring-boot-starter-mail`模块简化了邮件发送的配置和使用,使得开发者能够更加专注于业务逻辑,而不是底层通信细节。

    使用springMail发送带附件的email

    SpringMail是一个在Java应用中发送电子邮件的库,它利用了JavaMail API的简便性和灵活性。在本项目中,我们将深入探讨如何使用SpringMail发送带有附件的电子邮件。首先,我们需要了解几个核心概念: 1. **JavaMail ...

    java mail工具类

    JavaMail API 是Java平台上的标准邮件接口,提供了发送、接收、管理邮件的功能。它定义了一系列的接口和类,如`Session`、`Message`、`Transport`和`Store`,开发者可以通过这些接口来操作邮件服务器。 2. **...

    用Java Socket实现SMTP邮件发送

    SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的标准协议,而使用Java Socket来实现SMTP邮件发送,可以让我们在Java程序中直接进行邮件的传输。 首先,我们需要了解SMTP的工作流程。SMTP服务器负责...

    Spring邮件发送源码

    Spring框架在Java应用开发中扮演着重要角色,尤其在处理各种集成任务时,如数据库操作、定时任务以及我们的关注点——邮件发送。Spring提供了一套完整的邮件服务支持,通过其`org.springframework.mail`包,我们可以...

    Spring mail 使用多个账号发送带有附件的HTML邮件

    Spring Mail则是在这个API之上提供了一层抽象,使得邮件发送的代码更加简洁和易于管理。 1. **配置Spring Mail**: 在Spring应用中配置Spring Mail通常涉及以下步骤: - 添加依赖:确保项目中包含了`spring-...

    spring boot+mail邮件服务学习demo项目源码

    它简化了发送电子邮件的过程,只需配置一些必要的属性即可。 3. **配置邮件服务** 在Spring Boot项目中,我们需要在`application.properties`或`application.yml`中配置邮件服务器的相关信息,如SMTP服务器地址、...

    使用Spring Boot 开发支持多附件邮件发送微服务平台代码

    在开发现代Web应用程序时,Spring Boot是一个非常流行的框架,它简化了Java应用的构建和配置。本项目聚焦于使用Spring Boot来开发一个支持多附件邮件发送的微服务平台。这个平台可以方便地集成到各种业务场景中,...

    Spring 高效批量邮件发送

    它提供了send()方法,可以用来发送简单的文本邮件或者带有附件的复杂邮件。为了实现批量邮件发送,我们需要创建一个邮件服务类,该类将利用MailSender接口,并通过适当的方式管理邮件的队列和发送过程。 批量邮件...

    JavaSendEmail 用java直接发送邮件 有jar包

    JavaSendEmail是一个基于Java语言实现的邮件发送工具,它利用了特定的库来处理电子邮件的发送功能。在Java中发送邮件主要依赖于JavaMail API,这个API提供了多种接口和类来实现邮件的创建、配置和发送。在这个项目中...

    使用Maven构建简单的邮件发送示例项目

    在IT行业中,Maven是一个非常重要的工具,尤其对于Java开发者来说,它是一个强大的项目管理和集成工具,能够简化构建过程,管理依赖关系,并自动化构建流程。本教程将带你通过使用Maven构建一个简单的邮件发送示例...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

    spring各种邮件发送

    结合源码阅读和实际应用,开发者可以更深入地理解和掌握Spring框架的邮件发送功能,提升工作效率。对于那些需要发送大量或定期邮件的应用,还可以考虑使用邮件队列服务,如Amazon SES或SendGrid,配合Spring进行集成...

    java与电子邮件

    Java 与电子邮件技术是开发人员在构建应用程序时经常会用到的一种通信方式,特别是在需要发送通知、验证用户或提供客户服务的场景下。Java 提供了JavaMail API 这个强大的库来处理电子邮件的发送和接收。这篇博文将...

    系统_longerzzj_java_mail_源码

    这个系统设计用于简化邮件通信流程,包括发送、接收邮件,以及可能的附件处理等功能。 邮件系统的实现主要依赖于JavaMail API,它提供了对SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol ...

Global site tag (gtag.js) - Google Analytics