使用javamail发送邮件的简单例子
发送一个邮件需要做些什么?我们可以列一下
a.登陆邮箱(1.用户名,2.密码,3.发邮件需要它的smtp)
b.写邮件时需要 4.收件人邮箱地址,5.邮件标题,6.邮件内容
有了上面6个变量,我们就可以用javamail中的mail.jar发邮件了。
用下面这个简单的例子就可以发邮件了
package com.wasw100.mail;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
/**
* 邮件发送类
* @author wasw100
*/
public class MailSend {
private String host = "smtp.gmail.com";
private String userName = "你邮箱的登录名";
private String password = "你邮箱的登陆密码";
private String mail_to = "wasw100@gmail.com";
private String mail_subject = "邮件标题";
private String mail_body = "邮件内容";
public void send(){
Properties props = new Properties(); // 获取系统环境
Authenticator auth = new MailAuthenticator(userName, password); // 进行邮件服务器用户认证
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, auth);
// 设置session,和邮件服务器进行通讯。
MimeMessage message = new MimeMessage(session);
try {
message.setSubject(mail_subject);
message.setText(mail_body); // 设置邮件正文
Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址
message.addRecipient(Message.RecipientType.TO, toAddress);
Transport.send(message); // 发送邮件
System.out.println("send ok!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
new MailSend().send();
}
}
/**
* 用于进行邮箱的验证
* @author wasw100
*/
class MailAuthenticator extends Authenticator {
private String userName;
private String password;
public MailAuthenticator(String userName, String password) {
super();
this.userName = userName;
this.password = password;
}
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(userName, password);
}
}
一些复杂的邮件根据上面就可以简单的改出来,例如群发把Message的addRecipients(Message.RecipientType type, Address[] addresses)代替为addRecipient(Message.RecipientType type, Address address) 就可以了。
–EOF–
