现如今,用邮件发送消息的人越来越少,可是并不影响我们学习java。
以下给大家带来自己写的封装类,可以直接使用。
首先,需要jar包:
普通javaweb项目:mail.jar
maven管理项目:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.6</version>
</dependency>
然后开始编写实体类:
封装类:
MaiSenderInfo(实体类)
public class MailSenderInfo {
private String addressto; //收件人邮箱
private String addressFrom; //发件人邮箱
private String authCode; //权限码;
private String host; //主机地址
private String port; //端口号
private boolean auth = false; //是否需要身份验证,默认为false
private boolean ssl = true; //是否需要ssl传输协议
private String subject; //标题
private String text; //内容
private String nick; //发件人名称
/**
* 设置邮箱服务器
*/
public Properties getProperties(){
Properties p = new Properties();
p.setProperty("mail.smtp.host",this.host); //服务器地址
p.setProperty("mail.smtp.auth","true");
p.setProperty("mail.smtp.port",this.port); //端口号
p.setProperty("mail.smtp.ssl.enable", "true");
return p;
}
getter,setter方法略过
二:邮件发送main方法
SimpleMailSender
public class SimpleMailSender {
public boolean sendMail(MailSenderInfo mailSenderInfo){
//发件人邮箱
final String addressFrom = mailSenderInfo.getAddressFrom();
//获取权限码
final String authCode = mailSenderInfo.getAuthCode();
//获得系统属性
Properties properties = mailSenderInfo.getProperties();
//获取默认session对象
Session session = Session.getDefaultInstance(properties, new Authenticator() {
public PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication(addressFrom,authCode);
}
});
try{
//创建默认的MimeMessage对象
MimeMessage message = new MimeMessage(session);
//设置发件人 头部字段
message.setFrom(new InternetAddress(MimeUtility.encodeText(mailSenderInfo.getNick())+"<"+addressFrom+">"));
//设置收件人 头部字段
message.addRecipient(Message.RecipientType.TO, new InternetAddress(mailSenderInfo.getAddressto()));
//设置主题
message.setSubject(mailSenderInfo.getSubject());
message.setSentDate(new Date());
//设置内容
message.setText(mailSenderInfo.getText());
//发送消息
Transport.send(message);
return true;
}catch (Exception e) {
}
return false;
}
}
恭喜您,已经会了邮件发送