首页 > 编程 > Java > 正文

JavaMail实现邮件发送的方法

2019-11-26 15:12:48
字体:
来源:转载
供稿:网友

本文实例讲述了JavaMail实现邮件发送的方法。分享给大家供大家参考。具体如下:

下载 activation.jar 和 mail.jar
配置CLASSPATH,将上面两个jar包加入到CLASSPATH中。

JavaBean : "SendEmail.java"

package cls; import java.util.Date; import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class SendEmail {  String host;  String username;  String password;  String fromAddr;  String toAddr;  String subject;  String content;  public SendEmail()  {  // 变量初始化  host = "smtp.qq.com";  username = "";  password = "";  fromAddr = "@";  }  // 发送邮件  public boolean sendMail()  {  Properties prop;  Session session;  MimeMessage msg;  try  {   prop = new Properties(); // 存储连接参数   prop.put("mail.smtp.host",host);   prop.put("mail.smtp.auth","true");   session = Session.getDefaultInstance(prop,null);  // 获得一个邮件的Session   msg = new MimeMessage(session); // 邮件信息   // 检查邮件地址是否合法   if(fromAddr == null || fromAddr.equals(""))   {   throw new Exception("发件地址错误");   }   if(toAddr == null || toAddr.equals(""))   {   throw new Exception("目标地址错误");   }   //设置源地址   msg.setFrom(new InternetAddress(fromAddr));   //设置目的地址   msg.setRecipient(Message.RecipientType.TO,new InternetAddress(toAddr));   //设置主题   msg.setSubject(subject);   Multipart mp = new MimeMultipart(); //邮件内容   MimeBodyPart mbpContent = new MimeBodyPart();   mbpContent.setContent(content,"text/html"); // 邮件格式   mp.addBodyPart(mbpContent);   msg.setContent(mp);   msg.setSentDate(new Date());   // 发送邮件   Transport transport = session.getTransport("smtp");   transport.connect((String)prop.get("mail.smtp.host"),username,password);   transport.sendMessage(msg,msg.getRecipients(MimeMessage.RecipientType.TO));   transport.close();   return true;  }  catch(Exception e)  {   System.out.println(e);   return false;  }  }  // getter and setter  public String getPassword()  {  return password;  }  public void setPassword(String password)  {  this.password = password;  }  public String getHost()  {  return host;  }  public void setHost(String host)  {  this.host = host;  }  public String getUsername()  {  return username;  }  public void setUsername(String username)  {  this.username = username;  }  public String getFromAddr()  {  return this.fromAddr;  }  public void setFromAddr(String addr)  {  fromAddr = addr;  }  public String getToAddr()  {  return this.toAddr;  }  public void setToAddr(String addr)  {  toAddr = addr;  }  public String getSubject()  {  return subject;  }  public void setSubject(String sub)  {  subject = sub;  }  public String getContent()  {  return content;  }  public void setContent(String content)  {  this.content = content;  } }

sendmail.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>  <head>  <title>Mail</title>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>  <body>  <center>   <jsp:useBean id="email" class="cls.SendEmail" scope="page" />   <jsp:setProperty name="email" property="toAddr" value="host" />  <jsp:setProperty name="email" property="fromAddr" value="host" />  <jsp:setProperty name="email" property="username" value="username" />  <jsp:setProperty name="email" property="password" value="password" />  <jsp:setProperty name="email" property="subject" value="mail test" />  <jsp:setProperty name="email" property="content" value="hello world"/>  <%=email.sendMail() %> </center>  </body> </html>

希望本文所述对大家的java程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表