1. 程式人生 > >實現郵件傳送程式碼

實現郵件傳送程式碼

郵件傳送程式碼書寫

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郵箱瞬間就好了。所以去申請個別的郵箱吧。   用郵