我正在尝试使用 apache james 服务器发送邮件。我已经完成了所有 james 配置。
我的代码执行正确,没有例外。但是邮件无法投递。
这是我的示例代码
public void sendMail(String toField, String subject, Users user,
HttpServletRequest request)throws Exception {
// TODO Auto-generated method stub
logger.info("sending mail....");
String loginLink = request.getScheme() +"://" + request.getServerName()
+ ":" + request.getServerPort() + request.getContextPath()+"/auth/login";
// Prepare the evaluation context
final WebContext ctx = new WebContext(request, request.getSession()
.getServletContext(),request.getLocale());
ctx.setVariable("eagletId", user.getEagletId());
ctx.setVariable("name", user.getFirstName());
ctx.setVariable("setSentDate", new Date());
ctx.setVariable("password", user.getPassword());
ctx.setVariable("link",loginLink);
// Create a mail session
Properties properties = new Properties();
properties.put("mail.smtp.host", "localhost");
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.username", "coepleap");
properties.put("mail.smtp.password", "coepleap");
Session session = Session.getDefaultInstance(properties,new Authenticator() {
protected PasswordAuthentication getpassAuthentication(){
return new PasswordAuthentication("coepleap", "coepleap");
}
});
MimeMessage message = new MimeMessage(session);
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
message.setFrom(new InternetAddress("coepleap"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(toField));
helper.setSubject(subject);
final String htmlContent = this.templateEngine.process("email.html",ctx);
helper.setText(htmlContent,true);
Transport.send(message);
}
}
谁能帮帮我?