`
pengjianbo1
  • 浏览: 232493 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JavaMail发邮件【不带附件】

    博客分类:
  • J2EE
阅读更多
package test;

import java.util.ArrayList;
import java.util.List;

public class MailBean {

	// 发送邮件服务器
	private String hostName = "smtp.163.com";

	// 发送邮件服务器端口
	private int port = 25;

	// 发送者邮箱用户名
	private String userName = "xxx";

	// 发送者邮箱密码
	private String password = "xxx";

	// 邮件接收者
	private String[] toAddress = new String[]{"xxx@163.com","xxx@qq.com"};

	// 邮件主题
	private String subject = "JavaMial 测试";

	// 邮件内容
	private String content = "这是一封JavaMail测试邮件";

	// 邮件发送者
	private String fromAddress = "xxx@163.com";
	
	//附件路径列表
	private List<String> fileList=new ArrayList<String>();

	
	public List<String> getFileList() {
		return fileList;
	}

	public void setFileList(List<String> fileList) {
		this.fileList = fileList;
	}

	public String getFromAddress() {
		return fromAddress;
	}

	public void setFromAddress(String fromAddress) {
		this.fromAddress = fromAddress;
	}

	public int getPort() {
		return port;
	}

	public void setPort(int port) {
		this.port = port;
	}

	public String getHostName() {
		return hostName;
	}

	public void setHostName(String hostName) {
		this.hostName = hostName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	

	public String[] getToAddress() {
		return toAddress;
	}

	public void setToAddress(String[] toAddress) {
		this.toAddress = toAddress;
	}

	public String getSubject() {
		return subject;
	}

	public void setSubject(String subject) {
		this.subject = subject;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

}
 package test;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class JavaMail {

	@SuppressWarnings("static-access")
	public void setMail(MailBean mailBean) {
		try {
			// 设置JavaMail属性
			Properties props = new Properties();
			// 设置邮件服务器端口
			props.put("mail.smtp.port", mailBean.getPort());
			// SMTP邮件服务器IP地址或主机名
			props.put("mail.smtp.host", mailBean.getHostName());
			props.put("mail.smtp.auth", "true");
			// 需要经过授权,也就是有户名和密码的校验,这样才能通过验证(一定要有这一条)
			EmailAuthenticator auth = new EmailAuthenticator(mailBean.getUserName(), mailBean.getPassword());
			// 根据已配置的JavaMail属性创建Session实例
			Session mailSession = Session.getInstance(props, (Authenticator) auth);
			// 你可以在控制台(console)上看到发送邮件的过程
			mailSession.setDebug(true);
			MimeMessage msg = new MimeMessage(mailSession);
			// 设置邮件接收者
			String[] toAddress = mailBean.getToAddress();
			for (int i = 0; i < mailBean.getToAddress().length; i++) {
				Address address = new InternetAddress(toAddress[i].toString());
				msg.addRecipient(Message.RecipientType.TO, address);
			}
			// 调置邮件主题
			msg.setSubject(mailBean.getSubject());
			// 设置邮件发送者
			msg.setFrom(new InternetAddress(mailBean.getFromAddress()));
			// 设置邮件正文
			msg.setText(mailBean.getContent());
			// 创建Transport对象
			Transport tran = mailSession.getTransport("smtp");
			// 连接邮件服务器
			tran.connect(mailBean.getHostName(), mailBean.getUserName(), mailBean.getPassword());
			// 发送邮件
			tran.send(msg);
			tran.close();
		} catch (AddressException e) {
			e.printStackTrace();
		} catch (MessagingException e) {
			e.printStackTrace();
		}

	}

	// 邮件用户身份验证类
	class EmailAuthenticator extends Authenticator {

		private String username;

		private String userpass;

		EmailAuthenticator(String un, String up) {
			super();
			username = un;
			userpass = up;
		}

		public PasswordAuthentication getPasswordAuthentication() {
			return new PasswordAuthentication(username, userpass);
		}
	}

	public static void main(String[] args) {

		JavaMail javaMail = new JavaMail();
		MailBean mailBean = new MailBean();
		javaMail.setMail(mailBean);

	}

}
 
分享到:
评论

相关推荐

    javamail发邮件(带附件)

    ### JavaMail 发送带附件的电子邮件 在Java开发过程中,经常需要通过程序自动发送电子邮件,尤其是在需要进行用户通知、密码重置或者系统日志报告等场景。JavaMail API提供了非常强大的功能来支持这些需求,包括...

    javamail发送邮件(带附件)

    这个资源提供了一个具体的示例,展示了如何使用JavaMail API 来发送带有附件的邮件。以下是对这个主题的详细解释: 首先,你需要理解JavaMail的核心组件。`javax.mail` 和 `javax.mail.internet` 包含了发送邮件所...

    james和javamail实现邮件收发(带发送附件)

    JavaMail API支持MIME(多用途互联网邮件扩展)格式,这使得我们能够处理包括文本、图片、音频、视频以及各种其他类型在内的复杂邮件内容,包括附件。 下面是一个简化的JavaMail发送邮件的过程: 1. **配置邮件...

    Gmail邮件通过JavaMail发送(不带附件与带一个附件)

    本教程将详细讲解如何使用JavaMail API在Gmail上发送邮件,包括不带附件和带有一个附件的情况。 首先,JavaMail是一个开源的Java库,它提供了用于处理邮件的标准API。在使用JavaMail发送邮件前,你需要在项目中引入...

    javaMail 发邮件

    这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...

    JAVA-JSP学习系列之JavaMail发邮件

    它提供了一套丰富的API接口,可以用来处理各种类型的邮件,包括但不限于简单的文本邮件、HTML格式邮件以及带有附件的邮件等。虽然JavaMail最初由Sun公司创建,但随着Java技术的发展,JavaMail已经成为了一个开放源...

    基于JavaMail邮件系统的设计与实现 论文

    JavaMail邮件系统的设计与实现是基于Java编程语言的,它利用了JavaMail API来处理电子邮件的发送、接收等任务。JavaMail API是一个开源的、跨平台的库,它提供了与各种邮件服务器通信的能力,支持SMTP(简单邮件传输...

    java 发邮件带excel附件,以流的形式发送附件,不生成excel文件

    以上代码片段展示了如何在不生成临时Excel文件的情况下,使用JavaMail API和Apache POI发送带有Excel附件的邮件。这种方法既高效又节省资源,尤其适用于处理大量数据时。记得在完成邮件发送后,关闭所有打开的流,以...

    jsp/servlet javamail 发送邮件 可发送多个附件

    在这个场景下,我们讨论的是一个使用JSP和Servlet实现的邮件发送系统,该系统具备发送带有多个附件的功能。这个系统可能基于JavaMail API来实现邮件的发送,而JavaMail是一个强大的开源库,可以处理复杂的邮件服务...

    用javamail实现邮件发送-完整源码-之前的那个资源变成50分一次下载了,所以重新上传一个,让大家能下载

    在Java中,如果你想要发送带有附件、HTML内容或者需要进行SMTP验证的邮件,JavaMail是必不可少的工具。 JavaMail API 提供了丰富的类和接口,使得开发者能够方便地执行以下任务: 1. 创建、发送和读取邮件 2. 支持...

    javamail 邮件系统

    JavaMail邮件系统是一种基于Java平台的邮件发送和接收解决方案,它允许开发者通过编程方式与SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol version 3)等邮件服务器进行交互。在JavaMail中,...

    javamail收发邮件步骤

    message.setSubject("带有附件的邮件"); Multipart multipart = new MimeMultipart(); MimeBodyPart textPart = new MimeBodyPart(); textPart.setText("邮件正文"); multipart.addBodyPart(textPart); for (File ...

    Java web中javamail邮件发送实现案例.docx

    如果需要发送带附件的邮件,可以使用MimeBodyPart和Multipart类来构建复杂的邮件结构。首先,创建一个Multipart对象作为邮件的内容容器,然后添加MimeBodyPart对象,每个MimeBodyPart可以代表一个文本或附件。最后,...

    JavaMail发送邮件基础教程

    在 Java 开发中,如果你需要构建一个能够发送邮件的功能,JavaMail 就是一个不可或缺的工具。本教程将带你深入了解 JavaMail 的基础概念,并教你如何使用它来发送邮件。 ### 1. JavaMail API 概述 JavaMail API ...

    Android使用Javamail发送Email群发加附件

    本篇文章将详细介绍如何使用JavaMail API在Android中发送带有附件并进行群发的电子邮件。首先,我们需要理解JavaMail API的工作原理以及如何将其集成到Android项目中。 1. **集成JavaMail库** 在Android项目中,...

    javamail.pdf

    在上面的代码中,postMail 方法用于发送邮件,它支持发送带附件和不带附件的邮件。 postMail 方法的实现过程如下: 1. 首先,获取 EmailData 对象的属性,如发件人、收件人、邮件主题、邮件内容等。 2. 然后,创建...

    java javamail 邮件发送

    3. **构建Multipart对象(可选)**:如果你需要发送带附件或者HTML内容的邮件,可以使用Multipart来组合文本和附件。例如: ```java Multipart multipart = new MimeMultipart(); BodyPart textPart = new ...

    收发(不带附件)的邮件

    发送不带附件的邮件时,SMTP处理纯文本内容,包括邮件主题、发件人、收件人、抄送人和邮件正文。 2. **IMAP协议**:收邮件通常使用Internet Message Access Protocol(互联网邮件访问协议)。IMAP允许用户从邮件...

    接收带附件的邮件

    本篇文章将深入探讨如何利用Java进行邮件开发,尤其是关注接收带附件的邮件。 首先,我们需要了解JavaMail API。这是一个开放源代码的Java库,它提供了与多种邮件协议(如SMTP, POP3, IMAP)交互的接口。要接收邮件...

Global site tag (gtag.js) - Google Analytics