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程序设计有所帮助。