在J2ME平台上构建你的邮件程序
rmData.getBytes();
try
{
/* 打开并返回一个HTTP连接 */
http = (HttpConnection) Connector.open(url);
......
/* 设置HTTP请求头 */
http.setRequestMethod(HttpConnection.POST);
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("User-Agent",
"Profile/MIDP-1.0 Configuration/CLDC-1.0");
http.setRequestProperty("Content-Language", "en-US");
http.setRequestProperty("Accept", "application/octet-stream");
http.setRequestProperty("Connection", "close"); // optional
http.setRequestProperty("Content-Length", Integer.toString(data.length));
......
/* 打开输出流 */
OutputStream os = http.openOutputStream();
/* 写邮件数据 */
os.write(data);
/* 关闭输出流 */
os.close();
}
catch (IOException ioe)
{
......
}
finally
{
try
{
/* 关闭连接 */
if (http != null) http.close();
}
catch (IOException ignored) {}
}
}
};
/* 启动进程 */
t.start();
}
MIDlet通过HTTP连接向Servelet发出接受或发送邮件的请求,Servlet根据不同的请求向邮件服务器发出相应的请求,并将返回结果传给MIDlet。
6. Servlet和JavaMail
J2EE中提供了对邮件相关协议的支持,包javax.mail和包javax.mail.internet 中定义了JavaMail API。下面是MailAgent.java中Servlet处理接受邮件列表请求的代码片断。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
String typeStr = request.getParameter("type");
int type = Integer.parseInt(typeStr);
String pop3Server;
String username;
String password;
Properties props;
String provider;
switch (type)
{
case RECEIVE_LIST:
/* 提取参数pop3服务器,用户名,密码 */
pop3Server = request.getParameter(paramPOP3);
username = request.getParameter(paramName);
password = request.getParameter(paramPass);
if (pop3Server == null || username == null || password == null)
{
out.print(STATUS_BAD);//xml?
return;
}
props = new Properties();
provider = "pop3";
try
{
/* 以指定的用户名和密码连接pop3服务器 */
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore(provider);
上一页 [1] [2] [3] [4] [5] [6] 下一页
进入问吧