`

JavaMail的一个HelloWorld例子

 
阅读更多

转载自:http://forhope.iteye.com/blog/428549

import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

/** */
/**
 * 发送普通邮件,接受普通邮件 发送带有附件的邮件,接收带有附件的邮件 发送html形式的邮件,接受html形式的邮件 发送带有图片的邮件等做了一个总结。
 */
public class Test {
	// 邮箱服务器
	private String host = "smtp.163.com";
	// 这个是你的邮箱用户名
	private String username = "jungleboy520";//用户名
	// 你的邮箱密码
	private String password = "密码";//密码

	private String mail_head_name = "this is head of this mail";

	private String mail_head_value = "this is head of this mail";

	private String mail_to = "61917380@qq.com";

	private String mail_from = "jungleboy520@163.com";

	private String mail_subject = "this is the subject of this test mail";

	private String mail_body = "this is the mail_body of this test mail";

	private String personalName = "我的邮件";

	public Test() {
	}

	/** */
	/**
	 * 此段代码用来发送普通电子邮件
	 */
	public void send() throws Exception {
		try {
			Properties props = new Properties(); // 获取系统环境
			Authenticator auth = new Email_Autherticator(); // 进行邮件服务器用户认证
			props.put("mail.smtp.host", host);
			props.put("mail.smtp.auth", "true");
			Session session = Session.getDefaultInstance(props, auth);
			// 设置session,和邮件服务器进行通讯。
			MimeMessage message = new MimeMessage(session);
			// message.setContent("foobar, "application/x-foobar"); // 设置邮件格式
			message.setSubject(mail_subject); // 设置邮件主题
			message.setText(mail_body); // 设置邮件正文
			message.setHeader(mail_head_name, mail_head_value); // 设置邮件标题
			message.setSentDate(new Date()); // 设置邮件发送日期
			Address address = new InternetAddress(mail_from, personalName);
			message.setFrom(address); // 设置邮件发送者的地址
			Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
			message.addRecipient(Message.RecipientType.TO, toAddress);
			Transport.send(message); // 发送邮件
			System.out.println("send ok!");
		} catch (Exception ex) {
			ex.printStackTrace();
			throw new Exception(ex.getMessage());
		}
	}

	/**
	 * 用来进行服务器对用户的认证
	 */
	public class Email_Autherticator extends Authenticator {
		public Email_Autherticator() {
			super();
		}

		public Email_Autherticator(String user, String pwd) {
			super();
			username = user;
			password = pwd;
		}

		@Override
		public PasswordAuthentication getPasswordAuthentication() {
			return new PasswordAuthentication(username, password);
		}
	}

	public static void main(String[] args) {
		Test sendmail = new Test();
		try {
			sendmail.send();
		} catch (Exception ex) {
		}
	}

}


你运行的时候需要写上你发送邮箱的用户名和密码,以及你的发送邮箱 和 发送到的邮箱

private String username = "jungleboy520";

private String password = "密码";

private String mail_to = 61917380@qq.com;

private String mail_from = jungleboy520@163.com;

而且别忘了下载mail.jar(在我的资源里可以下载到 ^_^ 或是google)

分享到:
评论

相关推荐

    简单javamail的实现(HelloWorld)

    这个“简单javamail的实现(HelloWorld)”的教程将引导我们通过创建一个基础的JavaMail应用,这通常被称为“HelloWorld”示例,因为它标志着我们对JavaMail API的初步理解和使用。 JavaMail API 提供了广泛的类和...

    Eclipse插件开发指南-陈刚

    虽然标题直接指向了Eclipse插件开发,但在提供的部分内容中,我们发现了一个关于SOAP(简单对象访问协议)的HelloWorld实例,这似乎偏离了书的主题,但实际上,这可能是因为作者试图通过一个实际的例子来介绍一种...

    精通Java网络编程光盘资料

    提供了本书第10章的一个完整的调用JDBC的例子的源程序; \char11\11-1\ 一个购买商品系统 提供了本书第11章的一个购买商品系统实例的源程序; \char11\11-2\ 使用RMI的应用程序 提供了本书第11章的使用RMI的...

    JAVA编程百例(照着例子更容易!)

    实例1 HelloWorld 实例10 创建一个窗体 实例100 上传文件 实例11 按扭 实例12 复选框 实例13 复合下拉列表 实例14 下拉列表 实例15 选项卡 实例16 对话框 实例17 文件对话框 实例18 使用HTML语言 实例19 菜单 实例2 ...

    android后台发送mail的jar包

    JavaMail是一个开源库,它为Java程序员提供了标准的API来处理邮件服务,包括SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)。在Android中,由于系统不直接支持JavaMail,我们需要通过引入...

    java 网络编程 代码集合

    07-RMI-HelloWorld则是一个简单的RMI入门示例,帮助初学者理解RMI的工作原理。 3. **SMTP(Simple Mail Transfer Protocol)**:12-SMTP-Example是使用JavaMail API发送邮件的示例。SMTP协议定义了电子邮件的传输...

    Java 发邮件教程含示例代码

    3. **创建MimeMessage对象**:`MimeMessage`是JavaMail API中的一个类,用于构建邮件内容。设置发件人、收件人、主题和邮件正文。 4. **发送邮件**:调用`Transport.send(message)`方法发送构建好的邮件。如果发送...

    java base64源码+jar包

    然而,描述中提到的是一个名为`BASE64Encoder.jar`的文件,这可能是一个早期的Java库,用于处理Base64编码和解码,可能在Java 8之前使用,因为它包含了`BASE64Encoder`和`BASE64Decoder`这两个类。 `BASE64Encoder`...

    129个Java项目源码下载 [共分20个压缩卷] 【15】.zip

    在本资源中,我们得到了一个名为"129个Java项目源码下载 [共分20个压缩卷] 【15】.zip"的压缩包,这是Java Web开发的一个大型集合,包含129个不同的项目源代码。这些源代码可能是为了教育、实践或展示不同Java Web...

    Spring.3.x企业应用开发实战(完整版).part2

    7.3.2 一个简单的例子 7.3.3 如何通过配置使用@AspectJ切面 7.4 @AspectJ语法基础 7.4.1 切点表达式函数 7.4.2 在函数入参中使用通配符 7.4.3 逻辑运算符 7.4.4 不同增强类型 7.4.5 引介增强用法 7.5 切点函数详解 ...

    Spring3.x企业应用开发实战(完整版) part1

    7.3.2 一个简单的例子 7.3.3 如何通过配置使用@AspectJ切面 7.4 @AspectJ语法基础 7.4.1 切点表达式函数 7.4.2 在函数入参中使用通配符 7.4.3 逻辑运算符 7.4.4 不同增强类型 7.4.5 引介增强用法 7.5 切点函数详解 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ...

Global site tag (gtag.js) - Google Analytics