1. 程式人生 > >java傳送郵件(javaMail通過SMTP傳送郵件)

java傳送郵件(javaMail通過SMTP傳送郵件)

java傳送郵件一般使用在註冊賬號時、或其他通知資訊時,網站會使用郵件定時傳送、或觸發傳送郵件通知使用者;

1、我是用的是maven開發,所以需要在pom檔案中定義jar包:

<dependency>
        <groupId>javax.mail</groupId>
        <artifactId>mail</artifactId>
        <version>1.5.0-b01</version>
        </dependency>
</dependencies>
當時jar包放進去卻在報錯,我以為是這個jar有問題,結果一看是缺少配套的jar包:activation-1.1.jar;

2、需要配置properties檔案放置郵箱的smtp伺服器地址和埠,以及你要使用的傳送的郵箱;

mail.smtp.host=smtp.163.com
mail.smtp.port=25
[email protected]
password=password

3、下面就是程式碼的部分了,在你想要呼叫的方法中定義send_email();方法
	public static void send_email() throws Exception{
		//你想要傳送的郵箱,可以動態載入
	        String to = "[email protected]";
	        String subject = "java郵件";//郵件主題
	        String content = "這是你的java郵件";//郵件內容
	        Properties properties = new Properties();
	        InputStream resourceAsStream = null;
	        try {
	            //此處EmployeeAction為你的當前類
	            resourceAsStream = EmployeeAction.class.getClassLoader().getResourceAsStream("/mail.properties");
//	            resourceAsStream = Object.class.getResourceAsStream("/mail.properties");
	            properties.load(resourceAsStream);
	        } finally{
	            if (resourceAsStream!=null) {
	                resourceAsStream.close();
	            }
	        }
	        System.err.println("properties:"+properties);
	        properties.put("mail.smtp.host", properties.get("mail.smtp.host"));
	        properties.put("mail.smtp.port", properties.get("mail.smtp.port"));
	        properties.put("mail.smtp.auth", "true");
	        Authenticator authenticator = new EmailAuthenticator(properties.get("userName").toString(), properties.get("password").toString());
	        javax.mail.Session sendMailSession = javax.mail.Session.getDefaultInstance(properties, authenticator);
	        MimeMessage mailMessage = new MimeMessage(sendMailSession);
	        mailMessage.setFrom(new InternetAddress(properties.get("userName").toString()));
	        // Message.RecipientType.TO屬性表示接收者的型別為TO
	        mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
	        mailMessage.setSubject(subject, "UTF-8");
	        mailMessage.setSentDate(new Date());
	        // MiniMultipart類是一個容器類,包含MimeBodyPart型別的物件
	        Multipart mainPart = new MimeMultipart();
	        // 建立一個包含HTML內容的MimeBodyPart
	        BodyPart html = new MimeBodyPart();
	        html.setContent(content.trim(), "text/html; charset=utf-8");
	        mainPart.addBodyPart(html);
	        mailMessage.setContent(mainPart);
	        Transport.send(mailMessage);
	}
4、執行後就可以傳送並接受到郵件了,僅供參考~~

相關推薦

java傳送郵件javaMail通過SMTP傳送郵件

java傳送郵件一般使用在註冊賬號時、或其他通知資訊時,網站會使用郵件定時傳送、或觸發傳送郵件通知使用者; 1、我是用的是maven開發,所以需要在pom檔案中定義jar包: <dependency> <groupId>javax.

open-falcon之使用mail-provider發郵件支持smtp SSL協議

ans 服務器 有一個 code var clone 安裝 安裝mail 端口 一、首先確定go語言安裝環境配置好 1.進入官網下載源碼包 https://golang.org/dl/ 2.解壓縮,配置環境變量 在/etc/profile最後加上export PAT

java通過SMTP傳送QQ郵件的完全步驟

轉自: https://blog.csdn.net/qq422733429/article/details/51280020 java通過SMTP傳送QQ郵件的完全步驟 首先,我們需要開啟QQ郵箱的SMTP服務,因為QQ郵箱對於一般的使用者都是預設關閉SM

telnet通過smtp傳送郵件

////////////////////////////////////CMD指令////////////////////////////////////////////// cmd telnet smtp.163.com 25   or &nb

pyhotn專案:通過SMTP實現郵件傳送

#本例項是演示如何通過SMTP實現郵件的傳送 實現流程:建立SMTP伺服器——>登入郵箱——>傳送郵件——>關閉郵箱 #傳送郵件需要匯入的庫 import smtplib from email.mime.text import MIMEText #SMTP伺服器

越過GFW,使用JavaMail通過Gmail傳送郵件

程式碼參考了:https://blog.csdn.net/licl19870605/article/details/8164401 Gmail要做兩處的設定: 1)啟用IMAP(如果只使用smtp協議傳送郵件,強烈懷疑此步可選) 根據 https://support.google.co

C# 傳送郵件帶附加件傳送

有時候不太適合寫這些東西:不太會描述,因為在開發過程中遇到了,所以記錄一下,以便後面看看。 由於開發一直用的VS2015或者VS2017,所以不知道其他的版本開發情況,其實差不多 這是下面的核心程式碼:簡單的傳送郵件(不發附件):去掉新增附近的程式碼即可 string user = "***@163.

python 傳送郵件文字、表格、附件

import pandas as pd import smtplib   from email.mime.text import MIMEText   from email.mime.multipart import MIMEMultipart filena

JAVA微信公眾號通過openid傳送模板訊息~

1,問題產生  在微信公眾號開發過程中,我們有時候做不同許可權的時候,比如在註冊的時候,需要稽核,然後我們要想辦法讓對方知道稽核的結果。這時候我們可以通過模板訊息來通知。 2,第一步,首先在微信公眾號上獲取模板訊息 首先,登入微信公眾平臺,看有沒有模板訊息這一塊,沒有的話點選新增功能外掛,

linux學習-mail傳送郵件mail不能發郵件

主機:centos 7 , 安裝sendmail,啟動sendmail,一般就可以了,但是有些同學為什麼不行,就是啟不動出現如下的情況!那現在如何解決。 yum install sendmailsystemctl start sendmail.service system

LINUX下通過外部SMTP郵件 直接拋棄sendmail和postfix

至於sentmail和postfix的配置有多麼麻煩老衲在這裡就不多廢話了...反正老衲是配置了N個小時,最終弄的頭暈眼花也沒弄好... 下面的方法可以讓你完全擺脫這兩個工具...當然,你要是想做郵件伺服器的話就令當別論了...你要是隻想讓伺服器自動發個郵件什麼的,用下面

手把手教你如何在window下將jenkins+allure整合生成的測試報告通過jenkins配置郵箱自動傳送-04非常詳細,非常實用

簡介   上一篇生成測試報告,小夥伴們和童鞋們就又問道,測試報告已經生成了,怎麼傳送給相關的負責人了?小夥伴們和童鞋們不要著急,聽巨集哥慢慢給你道來,心急吃不了熱豆腐哈。這些小夥伴們的表現還是不錯的,還有表現差一點的小夥伴或者童鞋們,竊竊自喜,以為萬事大吉了,NO,還差一步,不把測試報告發出去好好地在領導面

Kafka、RabbitMQ、RocketMQ訊息中介軟體的對比 —— 訊息傳送效能轉自阿里中介軟體

引言分散式系統中,我們廣泛運用訊息中介軟體進行系統間的資料交換,便於非同步解耦。現在開源的訊息中介軟體有很多,前段時間我們自家的產品 RocketMQ (MetaQ的核心) 也順利開源,得到大家的關注。那麼,訊息中介軟體效能究竟哪家強?帶著這個疑問,我們中介軟體測試組對常見的三類訊息產品(Kafka、Rabb

STM32的串列埠傳送資料字元,字串,數字.......重點

#include "stm32f10x.h" #include <stdio.h>    //下面strlen函式需要此標頭檔案 #include "USART.h" /**********************************************

基於http2的apns的push傳送平臺使用go語言寫的

在linux環境下執行上面的語句。需要改幾個引數, 這個http2的ios push推送真的是要了我的老命啊,足足用了兩個禮拜的時間,從零基礎的go語言開始,一步步的學習和找對應的例子,終於掌

Intent傳送簡訊跳轉到傳送介面

    在main.xml中: <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"

微信企業號開發—傳送訊息文字、圖片、語音

        上篇文章介紹了開啟回撥模式,開始回撥模式後我們就要實現聊天功能了。平時使用微信聊天可以傳送文字訊息、語音、圖片、視訊等,這裡只實現了其中的一些功能和大家分享。 一、與微信企業號建立連線

iOS 【UIKit-事件產生與傳送 練習重寫hitTest和pointInside方法

練習要求: 在下圖中點選到綠色Button區域,Button響應(包括YellowView覆蓋的綠色Button部分也是由綠色Button來響應)。點選YellowView部分(除覆蓋綠色Button外的),YellowView響應。 解決思路: 如果我們只是一味的和之前

Java 兔子問題斐波那契數列擴展篇

aik 第一個 truct func main target htm bre trace Java 兔子問題(斐波那契數列)擴展篇 斐波那契數列指的是這樣一個數列 0, 1, 1, 2,3, 5, 8, 13, 21, 34, 55, 89, 144, ...對於這個

java:管道流線程間管道流

sta pipe puts ble star ava ktr brush pri class Send implements Runnable{ PipedOutputStream pos = null; public Send() { this.pos