JavaMail实现邮件发送的方法
本文实例讲述了JavaMail实现邮件发送的方法。分享给大家供大家参考。具体如下:
下载activation.jar和mail.jar
配置CLASSPATH,将上面两个jar包加入到CLASSPATH中。
JavaBean:"SendEmail.java"
packagecls;
importjava.util.Date;
importjava.util.Properties;
importjavax.mail.*;
importjavax.mail.internet.*;
publicclassSendEmail
{
Stringhost;
Stringusername;
Stringpassword;
StringfromAddr;
StringtoAddr;
Stringsubject;
Stringcontent;
publicSendEmail()
{
//变量初始化
host="smtp.qq.com";
username="";
password="";
fromAddr="@";
}
//发送邮件
publicbooleansendMail()
{
Propertiesprop;
Sessionsession;
MimeMessagemsg;
try
{
prop=newProperties();//存储连接参数
prop.put("mail.smtp.host",host);
prop.put("mail.smtp.auth","true");
session=Session.getDefaultInstance(prop,null);
//获得一个邮件的Session
msg=newMimeMessage(session);//邮件信息
//检查邮件地址是否合法
if(fromAddr==null||fromAddr.equals(""))
{
thrownewException("发件地址错误");
}
if(toAddr==null||toAddr.equals(""))
{
thrownewException("目标地址错误");
}
//设置源地址
msg.setFrom(newInternetAddress(fromAddr));
//设置目的地址
msg.setRecipient(Message.RecipientType.TO,newInternetAddress(toAddr));
//设置主题
msg.setSubject(subject);
Multipartmp=newMimeMultipart();//邮件内容
MimeBodyPartmbpContent=newMimeBodyPart();
mbpContent.setContent(content,"text/html");//邮件格式
mp.addBodyPart(mbpContent);
msg.setContent(mp);
msg.setSentDate(newDate());
//发送邮件
Transporttransport=session.getTransport("smtp");
transport.connect((String)prop.get("mail.smtp.host"),username,password);
transport.sendMessage(msg,msg.getRecipients(MimeMessage.RecipientType.TO));
transport.close();
returntrue;
}
catch(Exceptione)
{
System.out.println(e);
returnfalse;
}
}
//getterandsetter
publicStringgetPassword()
{
returnpassword;
}
publicvoidsetPassword(Stringpassword)
{
this.password=password;
}
publicStringgetHost()
{
returnhost;
}
publicvoidsetHost(Stringhost)
{
this.host=host;
}
publicStringgetUsername()
{
returnusername;
}
publicvoidsetUsername(Stringusername)
{
this.username=username;
}
publicStringgetFromAddr()
{
returnthis.fromAddr;
}
publicvoidsetFromAddr(Stringaddr)
{
fromAddr=addr;
}
publicStringgetToAddr()
{
returnthis.toAddr;
}
publicvoidsetToAddr(Stringaddr)
{
toAddr=addr;
}
publicStringgetSubject()
{
returnsubject;
}
publicvoidsetSubject(Stringsub)
{
subject=sub;
}
publicStringgetContent()
{
returncontent;
}
publicvoidsetContent(Stringcontent)
{
this.content=content;
}
}
sendmail.jsp:
<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Mail</title> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> </head> <body> <center> <jsp:useBeanid="email"class="cls.SendEmail"scope="page"/> <jsp:setPropertyname="email"property="toAddr"value="host"/> <jsp:setPropertyname="email"property="fromAddr"value="host"/> <jsp:setPropertyname="email"property="username"value="username"/> <jsp:setPropertyname="email"property="password"value="password"/> <jsp:setPropertyname="email"property="subject"value="mailtest"/> <jsp:setPropertyname="email"property="content"value="helloworld"/> <%=email.sendMail()%> </center> </body> </html>
希望本文所述对大家的java程序设计有所帮助。