1. 程式人生 > >用java傳送電子郵件

用java傳送電子郵件

環境:jdk1.7    

郵件伺服器: james2.3.2     

1.   建立java工程,匯入jar包 javax.mail.jar

2. 編寫郵件實體類

==================MailInfo.java====================

package com.obtk.entitys;

import java.io.File;

/**
 * @author Administrator
 */
public class MailInfo {
	//伺服器(用域名錶示wx.com  127.0.0.1)
	private String mailServer;
	private String mailSender;   //郵件傳送者
	private String mailReceiver;  //郵件接受者
	private String mailSubject;   //郵件標題
	private String mailContent;   //郵件內容
	private String userName;    //使用者名稱
	private String passWord;    //密碼
	private String mailCc;//抄送地址
	private String[] mailBcc;   //抄送給很多人
	private File[] attachments;  //附件
	
	public void setAttachments(File[] attachments) {
		this.attachments = attachments;
	}
	
	public File[] getAttachments() {
		return attachments;
	}
	
	
	public String getMailCc() {
		return mailCc;
	}
	public void setMailCc(String mailCc) {
		this.mailCc = mailCc;
	}
	public String[] getMailBcc() {
		return mailBcc;
	}
	public void setMailBcc(String[] mailBcc) {
		this.mailBcc = mailBcc;
	}
	public String getMailServer() {
		return mailServer;
	}
	public void setMailServer(String mailServer) {
		this.mailServer = mailServer;
	}
	public String getMailSender() {
		return mailSender;
	}
	public void setMailSender(String mailSender) {
		this.mailSender = mailSender;
	}
	public String getMailReceiver() {
		return mailReceiver;
	}
	public void setMailReceiver(String mailReceiver) {
		this.mailReceiver = mailReceiver;
	}
	public String getMailSubject() {
		return mailSubject;
	}
	public void setMailSubject(String mailSubject) {
		this.mailSubject = mailSubject;
	}
	public String getMailContent() {
		return mailContent;
	}
	public void setMailContent(String mailContent) {
		this.mailContent = mailContent;
	}
	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;
	}
	
	
}
3.   編寫使用者驗證類

================MailAuthCheck.java=================

package com.obtk.test;

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

public class MailAuthCheck extends Authenticator{
	private String userName;
	private String passWord;
	
	public MailAuthCheck(String userName, String passWord) {
		super();
		this.userName = userName;
		this.passWord = passWord;
	}
	
	protected PasswordAuthentication getPasswordAuthentication() {
		System.out.println("驗證執行了");
		//進行使用者名稱和密碼驗證
		return new PasswordAuthentication(userName, passWord);
	}
}

4.  編寫測試類

============TestMail01.java===============

package com.obtk.test;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.obtk.entitys.MailInfo;

public class TestMail01 {
	
	public static void send(MailInfo theMail){
		//設定服務引數
		Properties prop=System.getProperties();
		prop.put("mail.smtp.host",theMail.getMailServer());
		prop.put("mail.smtp.auth", "true");//表示進行使用者驗證
		try {
			//產生session服務
			MailAuthCheck authCheck=new MailAuthCheck(theMail.getUserName(), theMail.getPassWord());
			Session mailSess=Session.getInstance(prop, authCheck);
			Message msg=new MimeMessage(mailSess);
			//設定傳送者
			msg.setFrom(new InternetAddress(theMail.getMailSender()));
			//設定接收者
			msg.setRecipient(Message.RecipientType.TO,new InternetAddress(theMail.getMailReceiver()) );
			//設定標題
			msg.setSubject(theMail.getMailSubject());
			//設定內容
			msg.setContent(theMail.getMailContent(),"text/html;charset=utf-8");
			//建立傳送示例
			Transport trans=mailSess.getTransport("smtp");
			//傳送
			trans.send(msg);
			//關閉
			trans.close();
			System.out.println("傳送成功!");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		MailInfo theMail=new MailInfo();
		theMail.setUserName("test1");
		theMail.setPassWord("123456");
		theMail.setMailServer("wx.com");
		theMail.setMailSender("
[email protected]
"); theMail.setMailReceiver("[email protected]"); theMail.setMailSubject("這是程式碼傳送的"); theMail.setMailContent("hello,這是程式碼傳送的內容!!!"); send(theMail); } }


相關推薦

java傳送電子郵件

環境:jdk1.7     郵件伺服器: james2.3.2      1.   建立java工程,匯入jar包 javax.mail.jar 2. 編寫郵件實體類 ==================MailInfo.java==================== p

使用Java傳送電子郵件

所需jar包 <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId

java傳送lotus郵件一個完整例子

import lotus.domino.NotesException;import lotus.domino.Session;import lotus.domino.NotesFactory;import lotus.domino.Database;import lotus.

flask開發個人部落格(24)—— flask中使用Flask_Mail傳送電子郵件

        flask中使用Flask-Mail提供對電子郵件的支援,下面將分步驟測試flask中傳送電子郵件的功能: 1 配置SMTP伺服器的資訊         我們需要藉助flask程式例項app的config屬性來配置電子郵件的SMTP伺服器資訊,其中主要的配置

Java傳送郵件 smtp驗證碼問題

package cn.estore.utils; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Messa

java使用javax.mail包傳送電子郵件:設定賬號、密碼、主題、文字、附件

全棧工程師開發手冊 (作者:欒鵬) java使用javax.mail包傳送電子郵件。這個例項可傳送多附件。 這裡使用163郵箱進行測試。可以設定賬號、密碼、主題、文字內容、附件 測試程式碼 public static void mai

java下發電子郵件demo

args 接受 獲得 use 幫我 暫時 mini ssi 工具 java下發電子郵件demo 在實際項目中會遇到需要使用郵件註冊,或者是使用郵件找回密碼等操作,需要使用到郵件發送功能。 其實郵件的發送主要是依賴於郵件協議,只要能實現郵件協議,那麽發送郵件其實還是很

Android實現快速傳送電子郵件

最近有朋友有需求是通過apk傳送郵件,我心想這怎麼可以實現?然後就研究了一番,最後得出結論是可行的! 確實可以自己的手機上定義主題和內容或者附件,然後傳送給對應的郵箱!詳細步驟傾聽我一一道來 我們以A郵箱傳送郵件給B郵箱為例: 1 開啟A郵箱的POP3服務 每個郵箱都有POP3服

呼叫Mailgun API傳送電子郵件一例

Mailgun提供了免費的郵件傳送服務,適合拿來做通知提醒一類的服務。免費版預設支援每天傳送多達300封郵件,最多可以發10,000封。 註冊方法:訪問 https://www.mailgun.com/email-api , 點Sign Up Free 輸入基本資訊,包括要接收郵

net類庫中傳送電子郵件的方法總結

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

PHP 傳送電子郵件

PHP 傳送電子郵件 PHP 允許您從指令碼直接傳送電子郵件。 。。。。。。。。。。。。。 PHP mail() 函式 PHP mail() 函式用於從指令碼中傳送電子郵件。 語法:mail(to,subject,message,headers,parameters) to 必需。規定 email

java傳送qq郵件

1.開啟POP3/SMTP協議 設定--》賬戶--》 2.新增依賴: <dependency >             <groupId >javax.mail </groupId >

tp5傳送電子郵件

一、開啟郵箱的SMTP服務 QQ郵箱設定方式: 點選設定: 點選賬戶 在最下面,有個開啟 點開啟會彈出個窗,上面有密碼,記下密碼 163郵箱設定方式: 其他郵箱都一樣,獲取授權碼就行 二、下載類庫檔案 https://gi

java傳送163郵件

  package com.framework.asserts; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.Mess

.NET 傳送電子郵件

static void Main(string[] args) { ///先引入 using System.Net.Mail; ///傳送郵件 using (MailMessage mailMessage = ne

使用SMTP傳送電子郵件

描述SMTP的基本操作,有如下常見的情景。假如Alice想給Bob傳送一封簡單的ASCII報文: 1)Alice啟動她的郵件代理伺服器並提供Bob的郵件地址(例如:***@163.com),撰寫郵件,通過使用者代理髮送該郵件。 2)Alice的使用者代理把報文傳送給Ali

vb.net 傳送電子郵件方法 無需改動 直接Ctrl C V

Public Function Emilsend(ByVal arrp As Array) As Boolean Dim tConsultname As String = G_objService.SB_MyTrim(arrp(0)) Di

使用Python傳送電子郵件

SMTP傳送郵件: 我這裡使用的qq郵箱伺服器,所以執行之前應先把qq郵箱中的相應服務開啟; 1.傳送文字郵件 #傳送文字郵件 import smtplib from email.mime.text import MIMEText from email.header

Servlet 傳送電子郵件

Servlet 傳送電子郵件 使用 Servlet 傳送一封電子郵件是很簡單的,但首先您必須在您的計算機上安裝 JavaMail API 和 Java Activation Framework)JAF)。 您可以從 Java 標準網站下載最新版本

PHP傳送電子郵件

今天學習了PHP的mail函式,並且利用它傳送傳送一些簡單點的郵件,下面 開始吧: 1、首先,應該配置自己的PHP檔案(也就是php.ini檔案)然後需要安裝sendmail 2、下載後將其解壓到任意一個目錄下面,我的是和php相關檔案放在一起了(自己建立一個資料夾sen