JavaMail實(shí)現(xiàn)郵件發(fā)送的方法
本文實(shí)例講述了JavaMail實(shí)現(xiàn)郵件發(fā)送的方法。分享給大家供大家參考。具體如下:
下載 activation.jar 和 mail.jar
配置CLASSPATH,將上面兩個(gè)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); // 獲得一個(gè)郵件的Session msg = new MimeMessage(session); // 郵件信息 // 檢查郵件地址是否合法 if(fromAddr == null || fromAddr.equals("")) { throw new Exception("發(fā)件地址錯(cuò)誤"); } if(toAddr == null || toAddr.equals("")) { throw new Exception("目標(biāo)地址錯(cuò)誤"); } //設(shè)置源地址 msg.setFrom(new InternetAddress(fromAddr)); //設(shè)置目的地址 msg.setRecipient(Message.RecipientType.TO,new InternetAddress(toAddr)); //設(shè)置主題 msg.setSubject(subject); Multipart mp = new MimeMultipart(); //郵件內(nèi)容 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程序設(shè)計(jì)有所幫助。
- JavaMail實(shí)現(xiàn)郵件發(fā)送機(jī)制
- JavaMail整合Spring實(shí)現(xiàn)郵件發(fā)送功能
- JavaMail實(shí)現(xiàn)簡單郵件發(fā)送
- 基于JavaMail實(shí)現(xiàn)簡單郵件發(fā)送
- 基于JavaMail的Java郵件發(fā)送
- JavaMail郵件發(fā)送機(jī)制詳解
- 基于JavaMail實(shí)現(xiàn)郵件發(fā)送
- 基于JavaMail的Java實(shí)現(xiàn)復(fù)雜郵件發(fā)送功能
- 基于JavaMail的Java實(shí)現(xiàn)簡單郵件發(fā)送功能
- JavaMail實(shí)現(xiàn)帶附件的郵件發(fā)送
相關(guān)文章
Java操作redis設(shè)置第二天凌晨過期的解決方案
這篇文章主要介紹了Java操作redis設(shè)置第二天凌晨過期的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01如何獲取springboot打成jar后的classpath
這篇文章主要介紹了如何獲取springboot打成jar后的classpath問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07詳解JAVA高質(zhì)量代碼之?dāng)?shù)組與集合
在學(xué)習(xí)編程的過程中,我覺得不止要獲得課本的知識,更多的是通過學(xué)習(xí)技術(shù)知識提高解決問題的能力,這樣我們才能走在最前方,本文主要講述Java高質(zhì)量代碼之?dāng)?shù)組與集合2013-08-08在SpringBoot中實(shí)現(xiàn)線程池并行處理任務(wù)的方法詳解
在使用Spring Boot開發(fā)應(yīng)用程序時(shí),我們經(jīng)常需要處理一些耗時(shí)的任務(wù),例如網(wǎng)絡(luò)請求、數(shù)據(jù)庫操作或者其他需要花費(fèi)一定時(shí)間的計(jì)算任務(wù),本文將介紹如何在Spring Boot中使用線程池來實(shí)現(xiàn)任務(wù)的并行處理2023-06-06