我正在开发部署在glassfish上的Java EE 6应用程序,我一直在阅读有关如何发送电子邮件的教程,但它们似乎已过时或过于复杂。我希望可能在这个规范中有一种相当简单的发送邮件的方式,因为很多东西变得如此简单。 你能指出我正确的方向还是可以给我看一些示例代码?
答案 0 :(得分:12)
您可以使用apache commons email,或者如果您使用的是Spring,请使用spring mail。如果您不想使用任何包装器库和JavaMail,则总是code sample。
所有这些链接都有代码示例。
答案 1 :(得分:0)
JEE App Server应提供电子邮件资源。您需要做的唯一考虑是查找资源(我认为它已配置)并发送电子邮件。
//Mail Resource injection not working on wildfly 10
//@Resource(lookup = "java:/futuramail")
private Session mailSession;
@Asynchronous
@Lock(LockType.READ)
public void sendMail(String recipient, String subject, String text) {
try {
InitialContext ic = new InitialContext();
mailSession = (Session) ic.lookup("java:/futuramail");
MimeMessage message = new MimeMessage(mailSession);
Address[] to = new InternetAddress[]{new InternetAddress(recipient)};
message.setRecipients(Message.RecipientType.TO, to);
message.setSubject(subject);
message.setSentDate(new Date());
message.setContent(text, "text/html");
//message.setText(text);
Transport.send(message);
System.out.println("mail sent");
} catch (MessagingException me) {
me.printStackTrace();
} catch (NamingException ex) {
Logger.getLogger(MailProcessor.class.getName()).log(Level.SEVERE, null, ex);
}
}