1. 程式人生 > >使用java底層實現郵件的傳送(含測試,原始碼)

使用java底層實現郵件的傳送(含測試,原始碼)

     直接上程式碼:3個類,兩個主要的類,一個測試類:

   主類(Mail):

 /**  
* @Title: Mail.java
* @Package org.service.impl
* @Description: TODO該方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-5-30 下午10:20:35
* @version V1.0  
*/
package org.service.impl;

import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

 /**   
 *    
 * 專案名稱:spring_Schop8   
 * 類名稱:Mail   
 * 類描述:   不用spring實現郵件傳送
 * 建立人:Mu Xiongxiong  
 * 建立時間:2017-5-30 下午10:20:35   
 * 修改人:Mu Xiongxiong   
 * 修改時間:2017-5-30 下午10:20:35   
 * 修改備註:   
 * @version    
 *    
 */
public class Mail {
	
	private String mailServer,from ,to , mailSubject,mailContent,username,password;

	public Mail(String mailServer, String from, String to, String mailSubject,
			String mailContent, String username, String password) {
		this.mailServer = mailServer;
		this.from = from;
		this.to = to;
		this.mailSubject = mailSubject;
		this.mailContent = mailContent;
		this.username = username;
		this.password = password;
	}

	public Mail() {
		username = "tina";
		password = "123"; 
		mailServer = "mail.com";
		from  = "
[email protected]
"; to = "[email protected]"; mailSubject = "問好"; mailContent = "好久沒見,最近可好!"; } public void send(){ //設定伺服器 Properties prop = System.getProperties(); prop.put("mail.smtp.host", mailServer); prop.put("mail.smtp.auth", "true"); //產生Session服務 EmailAuthenticator mailauth = new EmailAuthenticator(username, password); Session mailSession = Session.getInstance(prop,(Authenticator)mailauth); //封裝message物件 Message message = new MimeMessage(mailSession); try { message.setFrom(new InternetAddress(from)); //設定傳送人 message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); //設定主題 message.setSubject(mailSubject); //設定標題 message.setContent(mailContent,"text/html;charset=utf-8"); //設定內容 message.setSentDate(new Date()); //設定日期 //和粗昂就愛你Transport例項 Transport tran = mailSession.getTransport("smtp"); tran.send(message, message.getAllRecipients()); tran.close(); } catch (AddressException e) { // TODO 異常執行塊! e.printStackTrace(); } catch (MessagingException e) { // TODO 異常執行塊! e.printStackTrace(); } // } }

第二個主類(EmailAuthenticator):
package org.service.impl;


import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

import org.hibernate.validator.constraints.Email;

public class EmailAuthenticator extends Authenticator {
	private String username=null;
	private String userpass = null;
	
	
	
	public EmailAuthenticator(String username, String userpass) {
		super();
		this.username = username;
		this.userpass = userpass;
	}


	public  PasswordAuthentication getPasswordAuthentication(){
		return new PasswordAuthentication(username, userpass);
	}
	
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getUserpass() {
		return userpass;
	}
	public void setUserpass(String userpass) {
		this.userpass = userpass;
	}
	

}

測試類:
/**
	 * 
	* @Title: testMail1
	* @Description: 該方法的主要作用:java實現底層的郵件傳送
	* @param   設定檔案  
	* @return  返回型別:void   
	* @throws
	 */
	@Test
	public void testMail1(){
		Mail mail = new Mail();
		mail.send();
		System.out.println("傳送成功");
	}

原始碼上完了,再看一下執行的結果吧:


可以看到傳送人,傳送時間,還有傳送內容!已經發送成功!

相關推薦

使用java底層實現郵件傳送(測試原始碼)

     直接上程式碼:3個類,兩個主要的類,一個測試類:    主類(Mail): /** * @Title: Mail.java * @Package org.service.impl * @Description: TODO該方法的主要作用: * @author

Java+Selenium3框架設計篇5-如何實現郵件傳送測試報告

       本篇繼續回答網友的問題,這個主題是如何通過郵件傳送測試報告。通過郵件傳送測試報告,這個很重要,也很有必要。不管你使用什麼自動化測試框架,都建議添加發送測試報告的功能。先來設計我們的傳送郵件的場景:假如我們測試報告是固定的名稱,放在固定的路徑下。 1.下載jav

java實現郵件傳送 抄送及多附件傳送

import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.ac

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

使用java實現郵件傳送功能(已封裝)

現如今,用郵件傳送訊息的人越來越少,可是並不影響我們學習java。 以下給大家帶來自己寫的封裝類,可以直接使用。 首先,需要jar包: 普通javaweb專案:mail.jar maven管理專案:  <dependency>     &

Java實現郵件傳送(很簡單)

Java實現郵件傳送,需要指定郵件伺服器,和自己的郵箱賬號和密碼,謹記 自己的郵箱必須得到到客戶端授權碼,尤其是新開的郵箱,具體看程式碼,包括附件傳送 public class EmailUtils { private static String from = ""; //郵箱賬號 p

java實現郵件傳送準備工作(前期配置)

       本文主要用的郵件客戶端是:office 2007的outlook,伺服器是apache-james-2.3.2,首先我們來配置一下這個james伺服器:        1.將james伺

java實現郵件傳送驗證碼

java實現郵件傳送驗證碼    建議不要用qq郵箱,我使用qq郵箱直接一直給我報530錯誤,我一直認為我程式碼寫的有錯誤或者POP3/SMTP服務沒弄好。所以建議註冊個別的郵箱,我就申請了個網易163郵箱瞬間就好了。所以去申請個別的郵箱吧。   用郵

Java呼叫阿里SMTP伺服器實現郵件傳送

        // 構建授權資訊,用於進行SMTP進行身份驗證         Authenticator authenticator = new Authenticator() {             @Override             protected PasswordAuthentica

java 實現ajax傳送http請求直接訪問伺服器

 //-----------------------------客戶端請求時需要把中文轉碼 --------------------- /**       * 向指定URL傳送POST方法的請求   

java 實現郵件傳送

import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import java

自己寫程式碼實現郵件傳送再也不用視覺化那麼麻煩了!

原文地址:https://www.keketec.club/posts/a6c96c4e/ > 學而知不足,長按關注,精彩不錯過 Python自動批量傳送郵件是一種什麼體驗? ![](https://img2020.cnblogs.com/blog/2193560/202101/2193560

JAVA程式設計112——郵件傳送

package com.mollen.utils; import org.junit.Test; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; imp

程式碼珍藏之傳送簡訊 Java實現簡訊傳送

Java中實現簡訊傳送   最近跟著做公司的專案偶然接觸到的,順勢把這個給記錄下來,給自己梳理一下. 採用引入第三方工具的方式,網上查了半天,發現簡單的實現方式便是註冊一箇中國網建的賬號,新建賬號的時候會附帶贈幾條免費簡訊,彩信 ,之後想要在使用就得花錢了.簡單的操作流

Log4j2配置SMTP郵件實現郵件傳送

大綱: 官網配置資訊 實際使用 一、官網配置資訊 官網SMTPAppender配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="

驗證碼如何使用Java程式實現簡訊傳送

現在是什麼軟體和平臺登入都需要繫結手機號碼,然後通過的簡訊驗證碼進行驗證手機號,那麼軟體平臺是如何Java程式進行簡訊驗證碼自動觸發傳送的呢?今天給大家分享的是Java實現簡訊驗證碼傳送功能。   實現Java驗證碼傳送的第一步:選取可以使用的簡訊平臺   這

JavaMail實踐--實現郵件傳送

一、介紹   1、主要功能:     實現普通郵件的傳送     實現帶有HTML標籤的內容傳送     實現帶有附件的郵件傳送   2、API JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar   3、QQ郵箱的認證   

郵件傳送超大附件上傳下載特別慢怎麼解決?

目前,已有不少郵箱如QQ郵箱、網易郵箱等支援超大附件,可以傳送2G或3G大小的檔案。但是諸多郵箱傳送超大附件普遍存在以下問題: 首先,郵件傳送大檔案對檔案大小有限制,超過上限的超大附件無法傳送;其次,超大附件上傳、下載的速度有限,而且速度也不穩定;再次,即便上傳成功之後,如果對方的郵箱接收附件的大小也會有限

SpringBoot實現郵件傳送及其工具類封裝

SpringBoot郵件傳送工具類 環境:JDK8、IDEA 依賴:SpringBoot-1.5.10、spring-boot-starter-mail、spring-boot-starter-thymeleaf、spring-boot-start