天天看点

Java Mail最基本的发送邮件例子

  simplesendmaildemo.java

package com.steven.mail;

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;

/**

* 最基本的邮件发送代码

*

* @author steven

*/

public class simplesendmaildemo {

public static void main(string[] args) throws exception {

// 创建邮件的发送过程中用到的主机和端口号的属性文件

properties pro = new properties();

// 设置邮件发送方的主机地址如果是163邮箱,则为smtp.163.com

// 如果是其他的邮箱可以参照http://wenku.baidu.com/link?url=cf-1ggew3e7rm9kwfz47ul7vvkrppxakblyotsgpnk4hxpjdiq0a4lropdncmlcmivupen6pd0aobgm5zjam7aogkrdccsx6hdh2fswkxiq这个文档

pro.put("mail.smtp.host", "smtp.qq.com");

// 设置发送邮件端口号

pro.put("mail.smtp.port", "25");

// 设置邮件发送需要认证

pro.put("mail.smtp.auth", "true");

// 创建邮件验证信息,即发送邮件的用户名和密码

authenticator authenticator = new authenticator() {

@override

protected passwordauthentication getpasswordauthentication() {

// 重写验证方法,填写用户名,密码

return new passwordauthentication("[email protected]", "123");

}

};

// 根据邮件会话 构建一个邮件的session

session sendmailsession = session

.getdefaultinstance(pro, authenticator);

// 创建一个邮件消息

message message = new mimemessage(sendmailsession);

// 创建邮件发送者地址

address sourceaddress = new internetaddress("[email protected]");

// 将原地址设置到消息的信息中

message.setfrom(sourceaddress);

// 创建邮件的接收者地址

address destaddress = new internetaddress("[email protected]");

// 将接收者的地址设置到消息的信息中

message.setrecipient(message.recipienttype.to, destaddress);

// 设置邮件的主题

message.setsubject("merry christmas!");

// 设置邮件的发送内容

message.settext("你好,圣诞节快乐!");

// 可以设置邮件的发送时间(就是对方看邮件发送的时间)

// string senddate = "2013-12-23 17:55:00";

// date date = new

// simpledateformat("yyyy-mm-dd hh:mm:ss").parse(senddate);

// message.setsentdate(date);

// 发送邮件

transport.send(message);

这个例子是完全没有封装后的源代码,如果进行封装的话,可以考虑将发送的邮箱信息封装成一个邮件信息的类,然后验证可以通过一个类继承authenticator然后复写方法getpasswordauthentication(),接着发送的主要业务逻辑可以封装成一个类,这样在使用的时候,就可以通过创建邮件信息,进行验证,通过主要的业务逻辑调用发送邮件。

  然后发送的最终效果如下图1所示:

Java Mail最基本的发送邮件例子

图1

最新内容请见作者的github页:http://qaseven.github.io/