使用java实现邮件发送功能(已封装)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37625860/article/details/74332399

现如今,用邮件发送消息的人越来越少,可是并不影响我们学习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;


}
}

恭喜您,已经会了邮件发送

猜你喜欢

转载自blog.csdn.net/m0_37625860/article/details/74332399
今日推荐