實現郵件傳送程式碼
郵件傳送程式碼書寫
1.導包
mail.jar
2.書寫程式碼
package com.itcast.mail;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
public class MailUtils {
//email:郵件發給誰 subject:主題 emailMsg:郵件的內容
public static void sendMail(String email, String subject, String emailMsg)
throws AddressException, MessagingException {
// 1.建立一個程式與郵件伺服器會話物件 Session
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "SMTP");//發郵件的協議
props.setProperty("mail.host", "localhost");//傳送郵件的伺服器地址
props.setProperty("mail.smtp.auth", "true");// 指定驗證為true
// 建立驗證器
Authenticator auth = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("tom", "123456");//發郵件的賬號的驗證
}
};
Session session = Session.getInstance(props, auth);
// 2.建立一個Message,它相當於是郵件內容
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(" [email protected]")); // 設定傳送者
message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 設定傳送方式與接收者
message.setSubject(subject);//郵件的主題
message.setContent(emailMsg, "text/html;charset=utf-8");
// 3.建立 Transport用於將郵件傳送
Transport.send(message);
}
}
package com.itcast.mail;
import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
public class SendMailTest {
public static void main(String[] args) throws AddressException, MessagingException {
MailUtils.sendMail(" [email protected]", "測試郵件","這是一封測試郵件");
}
}
實現定時傳送生日祝福
package com.itcast.birthday; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Timer; import java.util.TimerTask; import javax.mail.MessagingException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import com.itcast.mail.MailUtils; public class BirthdayListenner implements ServletContextListener { @Override public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } @Override public void contextInitialized(ServletContextEvent arg0) { // 當web應用器開啟任務調動--功能在使用者的生日當前傳送郵件 // 開啟一個定時器 Timer timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { // 為當前的生日的使用者傳送郵件 //1.獲得今天過生日的人 // 獲得今天的日期 SimpleDateFormat format=new SimpleDateFormat(); String currentDate=format.format(new Date()); // 根據當前時間從資料查詢今天過生日的人 QueryRunner runner =new QueryRunner(DataSourceUtils.getDataSource()); String sql="select * from customer where birthday like ?"; List<Customer> customerList=null; try { customerList = runner.query(sql,new BeanListHandler<Customer>(Customer.class), "%"+currentDate+"%"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } // 2.發郵件 if(customerList!=null&&customerList.size()>0){ for(Customer c:customerList){ String emailMsg="親愛的lucy"+c.getRealname(); try { MailUtils.sendMail(c.getEmail(), "ceshi", emailMsg); System.out.println(c.getRealname()); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }, new Date(), 1000*30); // 實際開發中起始時間是一個固定的時間 // 實際開發中間時間是一天 } }
package com.itcast.birthday;
public class Customer {
private String username;
private String password;
private String realname;
private String bithday;
private String email;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRealname() {
return realname;
}
public void setRealname(String realname) {
this.realname = realname;
}
public String getBithday() {
return bithday;
}
public void setBithday(String bithday) {
this.bithday = bithday;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
相關推薦
實現郵件傳送程式碼
郵件傳送程式碼書寫1.導包mail.jar2.書寫程式碼package com.itcast.mail; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Mes
自己寫程式碼實現郵件傳送,再也不用視覺化那麼麻煩了!
原文地址:https://www.keketec.club/posts/a6c96c4e/ > 學而知不足,長按關注,精彩不錯過 Python自動批量傳送郵件是一種什麼體驗? ![](https://img2020.cnblogs.com/blog/2193560/202101/2193560
Java實現郵件傳送(傳統方式)
package jl.bh.shy.utils; import java.util.Properties; import javax.mail.Address; import javax.mail.Session; import javax.mail.Transport; impor
JAVA在不基於XML配置檔案的情況下實現郵件傳送功能(郵箱轟炸)
今天要講的是如何用Java程式碼實現簡單郵件傳送和複雜郵件傳送的功能,這裡我使用的是QQ郵箱,你們也可以嘗試使用其他的郵箱哦~ 想實現郵件傳送功能首先郵箱賬號必須要開啟 SMTP 服務,在網頁登入郵箱後點擊設定→賬戶然後下拉,如圖 &nb
Log4j2配置SMTP郵件實現郵件傳送
大綱: 官網配置資訊 實際使用 一、官網配置資訊 官網SMTPAppender配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="
使用java實現郵件傳送功能(已封裝)
現如今,用郵件傳送訊息的人越來越少,可是並不影響我們學習java。 以下給大家帶來自己寫的封裝類,可以直接使用。 首先,需要jar包: 普通javaweb專案:mail.jar maven管理專案: <dependency> &
JavaMail實踐--實現郵件傳送
一、介紹 1、主要功能: 實現普通郵件的傳送 實現帶有HTML標籤的內容傳送 實現帶有附件的郵件傳送 2、API JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar 3、QQ郵箱的認證
SpringBoot實現郵件傳送及其工具類封裝
SpringBoot郵件傳送工具類 環境:JDK8、IDEA 依賴:SpringBoot-1.5.10、spring-boot-starter-mail、spring-boot-starter-thymeleaf、spring-boot-start
Java實現郵件傳送(很簡單)
Java實現郵件傳送,需要指定郵件伺服器,和自己的郵箱賬號和密碼,謹記 自己的郵箱必須得到到客戶端授權碼,尤其是新開的郵箱,具體看程式碼,包括附件傳送 public class EmailUtils { private static String from = ""; //郵箱賬號 p
使用JavaMail實現郵件傳送
電子郵件協議 電子郵件在網路中傳輸和網頁一樣需要遵從特定的協議,常用的電子郵件協議包括 SMTP,POP3,IMAP。其中郵件的建立和傳送只需要用到 SMTP協議,所以本文也只會涉及到SMTP協議。SMTP 是 Simple Mail Transfer Protocol
SpringBoot實現郵件傳送
開發工具:IDEA、Gradle 1.首先需要匯入相關jar包,在build.gradle內加入座標: implementation('org.springframework.boot:spring-boot-starter-mail') 2.在application.
SpringBoot快速實現郵件傳送功能-百測百靈
2018年11月10日星期六 隨筆 筆記 springboot整合郵件傳送 一、匯入依賴包 org.springframework.boot spring-boot-starter-mail 二、開啟服務(一個即可) 三、傳送簡訊:配置郵件客戶端到1069
JavaMail實現郵件傳送功能
最近的專案要使用javamail進行郵件傳送,寫這篇部落格總結下 傳送簡單的郵件 在進行郵件傳送之前要引入javamail的Maven依賴 dependency> <groupId>javamail</groupId> &l
springMVC實現郵件傳送
MailUtil中的Constants是作者自定義的一個工具類,該類的主要作用是從配置檔案中獲取發件人資訊,包括髮件人伺服器、發件人郵箱、發件人賬戶和密碼等。 DataUtil.objToStr(String str)方法的主要作用是判斷str是否為null或空字串,若是,則返回空
C#實現郵件傳送的功能
1.實現原理: 微軟封裝好的MailMessage類:主要處理髮送郵件的內容(如:收發人地址、標題、主體、圖片等等) 微軟封裝好的SmtpClient類:主要處理用smtp方式傳送此郵件的配置資訊(如:郵件伺服器、傳送埠號、驗證方式等等) SmtpClient主要進行了三層的封裝:Socket
Java+Selenium3框架設計篇5-如何實現郵件傳送測試報告
本篇繼續回答網友的問題,這個主題是如何通過郵件傳送測試報告。通過郵件傳送測試報告,這個很重要,也很有必要。不管你使用什麼自動化測試框架,都建議添加發送測試報告的功能。先來設計我們的傳送郵件的場景:假如我們測試報告是固定的名稱,放在固定的路徑下。 1.下載jav
結合ABP原始碼實現郵件傳送功能
1. 前言 最近pm臨時提出了多種郵件驗證操作的需求,因為一時間也沒有找到好的郵件收發元件,也抱著研究ABP的心態,就花了幾小時時間探究了一下ABP中關於Email的處理和操作。其實郵件操作大多大同小異,這次只是希望介紹一下ABP中實現功能的程式碼結構而已,以下是具體過程 演示的ABP程式碼版本為
java實現郵件傳送準備工作(前期配置)
本文主要用的郵件客戶端是:office 2007的outlook,伺服器是apache-james-2.3.2,首先我們來配置一下這個james伺服器: 1.將james伺
java實現郵件傳送, 抄送及多附件傳送
import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.ac
用java實現郵件傳送驗證碼
java實現郵件傳送驗證碼 建議不要用qq郵箱,我使用qq郵箱直接一直給我報530錯誤,我一直認為我程式碼寫的有錯誤或者POP3/SMTP服務沒弄好。所以建議註冊個別的郵箱,我就申請了個網易163郵箱瞬間就好了。所以去申請個別的郵箱吧。 用郵