站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题JavaMail快速入门-3

JavaMail快速入门-3

摘要: JavaMail快速入门-3
内容: 下一步,如下所示运行SimpleSender,用你自己的SMTP替换你email设置中的smtp.myISP.net:

  java com.lotontech.mail.SimpleSender smtp.myISP.net bill@lotontech.com
ben@lotontech.com "Hello" "Just to say Hello."

  如果它能正常工作起来的话,在接收端你将看到如图2所示的内容


     图2 从SimpleSender读取的消息

  SimpleSender类主要由Send(…)方法完成。其代码如下:

/**

* "send" method to send the message.

*/

public static void send(String smtpServer, String to, String from

, String subject, String body)

 {

  try

  {

   Properties props = System.getProperties();

   // -- Attaching to default Session, or we could start a new one --

   props.put("mail.smtp.host", smtpServer);

   Session session = Session.getDefaultInstance(props, null);

   // -- Create a new message --

   Message msg = new MimeMessage(session);

   // -- Set the FROM and TO fields --

   msg.setFrom(new InternetAddress(from));

   msg.setRecipients(Message.RecipientType.TO,

   InternetAddress.parse(to, false));

   // -- We could include CC recipients too --

   // if (cc != null)

   // msg.setRecipients(Message.RecipientType.CC

   // ,InternetAddress.parse(cc, false));

   // -- Set the subject and body text --

   msg.setSubject(subject);

   msg.setText(body);

   // -- Set some other header information --

   msg.setHeader("X-Mailer", "LOTONtechEmail");

   msg.setSentDate(new Date());

   // -- Send the message --

   Transport.send(msg);

   System.out.println("Message sent OK.");

  }

  catch (Exception ex)

  {

   ex.printStackTrace();

  }

 }

 }

 
  首先,请注意,你得到一个emailsession(java.mail.Session),没有它你什么都做不了。在这个案例中,你调用了Sesion.getDefultInstance(…)来得到一个共享session,其它的桌面应用程序也可以使用它;你也可以通过Session.getInstance(…)方法建立一个新的session,它对于你的应用程序来说是唯一的。然后我们能够证明email客户端应用程序对每个用户来说,其使用方法都是一样的,比如它可以是一个用servlet实现的基于Web的email系统。

  建立一个session需要设置一些属性;如果你通过SMTP发送消息,那么至少需要设置mail.smtp.host属性。在API文档中你可以找到其它的属性。

  现在你有了一个session,创建了一个消息。在这个例子中,你就可以设置email地址信息、主题、正文了,所有这些都取自于命令行。你也可以设置一些头信息,包括日期等,并且你还可以指定复制(CC)的收件人。

  最后,你通过javax.mail.Transport类发送消息。如果你想知道我们的emailsession,请看后面的消息构造器。
Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd, scwcd 下一步?
↑返回目录
前一篇: JavaMail快速入门-2
后一篇: JavaMail快速入门-4