以前接触过javaMail,不过没有做过相应的实例,现在重新学习了一下。
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于MicrosoftOutlook的应用程序。JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Store,Transport,Folder等。Session定义了一个基本的邮件会话,它需要从Properties中读取类似于邮件服务器,用户名和密码等信息。
下面分享一个永javaMail实现的发送邮件的实例:
Public class SimpleSender {
public static void main(String args[]) {
try
{
String smtpServer = "192.168.1.254";
String to = "jizhou@xxxx.com";
String from = "lijy@xxxx.com";
String subject = "test mail";
String body ="test mail";
String msgAttachment = "This is an attachment string!";
send(smtpServer, to, from, subject, body, msgAttachment);
} catch (Exception ex) {
System.out.println(ex.toString());
}
System.exit(0);
}
//发送一封简单的邮件
Public static void send(String smtpServer, String to, Stringfrom, String subject, String body) {
try { Propertiesprops = System.getProperties(); props.put("mail.smtp.host",smtpServer); /** *java通过System.getProperties()获取系统参数, *为Sesion.getDefultInstance准备参数。 */ Sessionsession = Session.getDefaultInstance(props, null); /** *首先要一个emailsession(java.mail.Session),没有它什么都做不了。 *调用了Sesion.getDefultInstance(…)来得到一个共享session。 *建立一个session需要设置一些属性。如果你通过SMTP发送消息, *那么至少需要设置mail.smtp.host属性。 *在API文档中你可以找到其它的属性。 */ Messagemsg = new MimeMessage(session); /** *一旦获得Session对象,就可以继续创建要发送的消息。 *可以设置email地址信息、主题、正文、头信息、日期、复制(CC)收件人。 */ msg.setFrom(newInternetAddress(from)); //发件人地址 InternetAddress[]address = { new InternetAddress(to) }; msg.setRecipients(Message.RecipientType.TO,address); //收件人地址,可以是一个或多个。msg.setSubject(subject); // 邮件主题 msg.setSentDate(new Date()); // 发送时间 msg.setText(body); //邮件正文的内容 msg.setHeader("X-Mailer","LOTONtechEmail"); Transport.send(msg); /** *通过javax.mail.Transport类发送消息。 */ System.out.println("Messagesent OK."); }catch (Exception ex) { ex.printStackTrace(); } }