在J2ME平台上构建你的邮件程序
store.connect(pop3Server, username, password);
/* 得到INBOX收件箱 */
Folder inbox = store.getFolder("INBOX");
if (inbox == null)
{
out.print(STATUS_BAD);//xml?
return;
}
/* 打开收件箱 */
inbox.open(Folder.READ_ONLY);
/* 得到收件箱中的邮件列表,并写到 XML中 */
writeXML(inbox.getMessages(), out);
inbox.close(false);
store.close();
}
catch(Exception e)
{
out.println(e.getMessage());
e.printStackTrace();
}
out.close();
break;
case RECEIVE_MESSAGE:
......
break;
case SEND_MESSAGE:
......
break;
}
}
J2EE程序的编译和部署请大家参照相关的书籍或文档。http://www.tusc.com.au/tutorial/html/ 的<<Tutorial for building J2EE Applications using JBOSS and ECLIPSE>>是一篇不错的文档。
7. 简单的XML
在MIDlet接受邮件时,首先向Servlet请求传送邮箱中当前邮件的列表。列表中包括了邮件的头部信息,包括发送者的地址,邮件的主题,发送的时间等,如图4。
Figure 4
在邮件主题中可能包括任何字符,所以没有办法用某一特殊字符分隔这些信息,而XML正好适合传输这种具有特定格式的信息。在Servlet端,把有用的邮件头部信息作为XML的元素写到输出流中。
private void writeXML(Message[] messages, PrintWriter out)
{
out.println("<?xml version=\"1.0\"?>");
out.println("<mail>");
if (messages == null)
{
out.println("<error>No Mail</error>");
}
try
{
int j = 0;
for (int i = messages.length -1; i >= 0; i--)
{
out.println("<message>");
/* 写邮件头 */
out.println("<from><![CDATA[" + InternetAddress.toString(messages[i].getFrom()) + "]]></from>");
out.println("<subject><![CDATA[" + messages[i].getSubject() + "]]></subject>");
out.println("<date>" + messages[i].getSentDate().toLocaleString() + "</date>");
out.println("<index>" + i + "</index>");
out.println("</message>");
j++;
if (j > 9)
{
/* 一次只看10个邮件 */
break;
}
上一页 [1] [2] [3] [4] [5] [6] 下一页
进入问吧