javamail使用完全手册,
2024-07-13 09:54:53
供稿:网友
前言:
自己的精华的文章太少,真没“面子”,这片努力争取争取吧
。
1,哪里是开始:
初始环境,安装好你的j2sdk和你的web服务器,也就是说你的机器应该能够运行jsp。
不能??
这里不管
2,安装javamail和jaf
javamail是sun发布的用来处理email的api。它可以方便地执行一些常用的邮件传输。 支持pop3,imap,smtp.
虽然javamail是sun的api之一,但它目前还没有被加在标准的java开发工具包中(java development kit),
这就意味着你在使用前必须另外下载javamail文件。除此以外,你还需要有sun的javabeans activation framework (jaf)。
javabeans activation framework的运行很复杂,在这里简单的说就是javamail的运行必须得依赖于它的支持
去java.sun.com下再两个zip包(javamail和jaf的)
3,配置
两个zip解压到c:(这里是举例,你的可能不同)
把javamai的mail.jar和jaf的activation.jar加入到环境变变量中
4,用来发送email的html源代码
<html>
<body>
<form action="sendmail.jsp" method="post">
<table align="center">
<tr>
<td width="50%">
to:<br><input name="to" size="25">
</td>
<td width="50%">
from:<br><input name="from" size="25">
</td>
</tr>
<tr>
<td colspan="2">
subject:<br><input name="subject" size="50">
</td>
</tr>
<tr>
<td colspan="2">
<p>message:<br><textarea name="text" rows=25 cols=85></textarea></p>
</td>
</tr>
</table>
<input type="submit" name="cb_submit" value=" send ">
<input type="reset" name="cb_reset" value=" clear ">
</form>
</body>
</html>
5,今天你“发“了没有
<%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"
%>
<html>
<head>
<title>jsp meets javamail, what a sweet combo.</title>
</head>
<body>
<%
try{
properties props = new properties();
session sendmailsession;
store store;
transport transport;
sendmailsession = session.getinstance(props, null);
props.put("mail.smtp.host", "smtp.jspinsider.com");
//用你的smtp服务器代替上面的 < smtp.jspinsider.com >
message newmessage = new mimemessage(sendmailsession);
newmessage.setfrom(new internetaddress(request.getparameter("from")));
newmessage.setrecipient(message.recipienttype.to, new internetaddress(request.getparameter("to")));
newmessage.setsubject(request.getparameter("subject"));
newmessage.setsentdate(new date());
newmessage.settext(request.getparameter("text"));
transport = sendmailsession.gettransport("smtp");
transport.send(newmessage);
%>
<p>your mail has been sent.</p>
<%
}
catch(messagingexception m)
{
out.println(m.tostring());
}
%>
</body>
</html>
解释解释:
属性对象
javamail需要创建一个格式为"mail.smtp.host"的文件用来发送信息。
properties props = new properties ();
props.put("mail.smtp.host", "smtp.jspinsider.com"); 对话对象
所有的基于javamail的程序都至少需要一个或全部的对话目标。
session sendmailsession;
sendmailsession = session.getinstance(props, null);
传输
邮件的传输只有送出或受到两种状态。javamail将这两种不同状态描述为传输和储存。传输将送出邮件,而储存将收取邮件。
transport transport;
transport = sendmailsession.gettransport("smtp");
使用javamail能为我们节约大量的时间。javamail能代替所有的smtp的工作。
注意:javamail并不能完全的支持所有的邮件发送收取工作。它目前仅支持imap、smtp和pop3,除此以外你只有等待新的javamail版本或自己开发协议。
信息对象
信息对象将把你所发送的邮件真实的反映出来。
message newmessage = new mimemessage(sendmailsession);
这就是我们所需要的全部四个对象。下一步将是如何将对象加入到jsp中。