实现Java Mail邮件发送的简单封装,可以避免重复繁琐的代码编写,提高了代码的重用性、可维护性和可扩展性。以下是实现Java Mail邮件发送的简单封装的完整攻略:
1. 引入Java Mail依赖包
在项目中引入Java Mail依赖包,可以使用maven或手动下载添加jar包的方式引入。以下是使用maven引入Java Mail依赖包的示例:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
2. 编写邮件发送工具类
public class MailUtils {
private static String HOST = "smtp.163.com"; //邮件服务器smtp地址
private static String SENDER = "sender@163.com"; //发件人邮箱地址
private static String PASSWORD = "xxxx"; //发件人邮箱授权码
private static String PORT = "465";//邮件服务器smtp端口号
private static String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";//使用SSL加密连接
public static boolean sendMail(String title, String content, String[] toAddress){
Properties props = new Properties();
props.setProperty("mail.smtp.host", HOST);
props.setProperty("mail.smtp.port", PORT);
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.socketFactory.port", PORT);
props.setProperty("mail.smtp.auth", "true");
//获取Session对象
Session session = Session.getDefaultInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(SENDER, PASSWORD);
}
});
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(SENDER));
for (String address : toAddress) {
message.addRecipient(Message.RecipientType.TO, new InternetAddress(address));
}
message.setSubject(title);
message.setContent(content, "text/html;charset=utf-8");
Transport.send(message);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
}
3. 使用示例
下面是使用MailUtils工具类发送邮件的示例:
public class Main {
public static void main(String[] args) {
String title = "一封简单的邮件";
String content = "你好,这是一封测试邮件。";
String[] toAddress = {"abc@qq.com"};//收件人地址,可以是多个
MailUtils.sendMail(title, content, toAddress);
}
}
以上就是Java Mail邮件发送如何实现简单封装的完整攻略,通过封装可以方便地进行邮件发送,提高了开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java Mail邮件发送如何实现简单封装 - Python技术站