JavaMail實現(xiàn)郵件發(fā)送的方法
更新時間:2015年04月17日 09:25:35 作者:司青
這篇文章主要介紹了JavaMail實現(xiàn)郵件發(fā)送的方法,實例分析了java實現(xiàn)郵件發(fā)送的相關技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了JavaMail實現(xiàn)郵件發(fā)送的方法。分享給大家供大家參考。具體如下:
下載 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 = "@"; } // 發(fā)送郵件 public boolean sendMail() { Properties prop; Session session; MimeMessage msg; try { prop = new Properties(); // 存儲連接參數(shù) 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("發(fā)件地址錯誤"); } 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()); // 發(fā)送郵件 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程序設計有所幫助。
相關文章
如何獲取springboot打成jar后的classpath
這篇文章主要介紹了如何獲取springboot打成jar后的classpath問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07在SpringBoot中實現(xiàn)線程池并行處理任務的方法詳解
在使用Spring Boot開發(fā)應用程序時,我們經(jīng)常需要處理一些耗時的任務,例如網(wǎng)絡請求、數(shù)據(jù)庫操作或者其他需要花費一定時間的計算任務,本文將介紹如何在Spring Boot中使用線程池來實現(xiàn)任務的并行處理2023-06-06