java 发邮件-java mail,
分享于 点击 145 次 点评:49
java 发邮件-java mail,
一、前言
在日常系统开发工作中,我们有时会遇到发送邮件的需求,使用java来实现发送邮件功能轻而易举。
借助spring的JavaMailSenderImpl,以及mail jar包,很容易实现发送邮件功能。
二、依赖的jar包
相关jar包:添加pom.xml依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.1</version>
</dependency>
或者 直接下载jar包
三、设置或查看发送方邮箱的服务设置
例如,题主的126邮箱,host 是 smtp.126.com,端口号是 25
四、核心代码
@RequestMapping(value = "/sendMail", method = RequestMethod.POST)
public String sendMail(HttpServletRequest request, HttpServletResponse response, MailVo mailVo) {
//MailVo 包含 接收方的邮箱地址、邮件标题、邮件内容
if (null == mailVo) {
request.setAttribute("errorMsg", "信息必须填写!");
return "htgl.mail.index";
}
if (StringUtils.isBlank(mailVo.getToMail()) ) {
request.setAttribute("errorMsg", "邮件地址必须填写!");
request.setAttribute("mailVo", mailVo);
return "htgl.mail.index";
}
if (StringUtils.isBlank(mailVo.getTitle())) {
request.setAttribute("errorMsg", "邮件标题必须填写!");
request.setAttribute("mailVo", mailVo);
return "htgl.mail.index";
}
if (StringUtils.isBlank(mailVo.getContent())) {
request.setAttribute("errorMsg", "邮件内容必须填写!");
request.setAttribute("mailVo", mailVo);
return "htgl.mail.index";
}
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost("smtp.126.com");
sender.setUsername("your mail");//发送方的邮箱,例如zhb2011150@126.com
sender.setPassword("your mail password");//发送方邮箱的密码
sender.setPort(25);
Properties properties = new Properties();
properties.put("mail.smtp.auth", "smtp");
properties.put("mail.smtp.socketFactory.fallback", "false");
properties.put("mail.smtp.timeout", "25000");
sender.setJavaMailProperties(properties);
MimeMessage mimeMessage = sender.createMimeMessage();
//可以对邮件内容加自定义样式,我这里没有加
String content_start = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf8\"/></head><body>";
String content_end = "</body></html>";
StringBuilder str = new StringBuilder();
str.append(content_start);
str.append(mailVo.getContent());
str.append(content_end);
String content = str.toString();
//mimeMessage.setContent(text, "text/html;charset=GB18030");
MimeMessageHelper helper;
try {
helper = new MimeMessageHelper(mimeMessage, true,"GBK");
helper.setFrom(sender.getUsername());
helper.setTo(mailVo.getToMail());
helper.setSubject(mailVo.getTitle());
helper.setText(content, true);
sender.send(mimeMessage);
} catch (MessagingException e1) {
logger.info("发送邮件时,发送失败");
logger.info(e1.getMessage());
e1.printStackTrace();
request.setAttribute("result", "发送失败!");
return "htgl.mail.sendMail";
}
request.setAttribute("result", "发送成功!");
return "htgl.mail.sendMail";
}
public class MailVo {
private String toMail;
private String title;
private String content;
public String getToMail() {
return toMail;
}
public void setToMail(String toMail) {
this.toMail = toMail;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
相关文章
- 暂无相关文章
用户点评