如何用 Java 发送电子邮件?
我需要从在Tomcat中运行的servlet发送电子邮件。我总是会发送给具有相同主题但内容不同的同一收件人。
用 Java 发送电子邮件的一种简单易行的方法是什么?
我需要从在Tomcat中运行的servlet发送电子邮件。我总是会发送给具有相同主题但内容不同的同一收件人。
用 Java 发送电子邮件的一种简单易行的方法是什么?
以下是我执行此操作的代码:
import javax.mail.*;
import javax.mail.internet.*;
// Set up the SMTP server.
java.util.Properties props = new java.util.Properties();
props.put("mail.smtp.host", "smtp.myisp.com");
Session session = Session.getDefaultInstance(props, null);
// Construct the message
String to = "you@you.com";
String from = "me@me.com";
String subject = "Hello";
Message msg = new MimeMessage(session);
try {
msg.setFrom(new InternetAddress(from));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
msg.setSubject(subject);
msg.setText("Hi,\n\nHow are you?");
// Send the message.
Transport.send(msg);
} catch (MessagingException e) {
// Error.
}
你可以从Sun获取JavaMail库:http://java.sun.com/products/javamail/
JavaMail使用起来可能有点痛苦。如果你想要一个更简单,更干净的解决方案,那么看看JavaMail的Spring包装器。参考文档如下:
http://static.springframework.org/spring/docs/2.5.x/reference/mail.html
但是,这确实意味着您的应用程序中需要Spring,如果这不是一个选项,那么您可以查看另一个开源包装器,例如simple-java-mail:
或者,您可以直接使用JavaMail,但上述两种解决方案是用Java发送电子邮件的更简单,更干净的方式。