1. 程式人生 > >Commons Email-電子郵件傳送

Commons Email-電子郵件傳送

資源連結

Commons Email 官網地址

Commons Email API 文件

碼雲上的專案原始碼

Commons Email簡介

  公用電子郵件的目標是提供一個傳送電子郵件的API。它是建立在Java郵件API之上的,它的目標是簡化。

  • SimpleEmail - 這個類用於傳送基本的基於文字的電子郵件。

  • MultiPartEmail - 該類用於傳送多部分訊息。這允許帶有附件的文字訊息或附件或附件。

  • HtmlEmail - 這個類用於傳送HTML格式的電子郵件。它具有作為多部分電子郵件的所有功能,可以方便地新增附件。它還支援嵌入的影象。

  • ImageHtmlEmail - 這個類用於傳送帶有內聯影象的HTML格式的電子郵件。它具有HtmlEmail的所有功能,但是將所有的影象引用轉換為內聯影象。

  • EmailAttachment - 這是一個簡單的容器類,可以方便地處理附件。它適用於多部分電子郵件和HtmlEmail的例項。

Commons Email 的配置

  這個的基礎配置很簡單,就一個Maven依賴項,如下:

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>
commons-email</artifactId> <version>1.5</version> </dependency>

Commons Email 的用法

開通POP3/SMTP服務

  在使用該Maven依賴傳送電子郵件之前,我們先確保傳送的電子郵件提供方已經開通了“POP3/SMTP服務”,如果沒有開通的話可以參考下面的方法。

  我這裡是以網易郵箱為例來進行的說明。

  首先是登入電子郵箱首頁,如下:

這裡寫圖片描述

  找到圖示的【設定】按鈕,點選後在彈出的下拉列表框中選擇“POP3/SMTP/IMAP”選項。

這裡寫圖片描述

  在彈出的頁面中,選中“ POP3/SMTP服務”複選框,點選圖示的【儲存】按鈕即可。

這裡寫圖片描述

傳送電子郵件原始碼

Mail原始碼:

package com.lyc.email;

import lombok.*;

import java.util.Set;

@Getter
@Setter
@Builder
public class Mail {

    private String subject;

    private String message;

    private Set<String> receivers;
}

MailAction原始碼:

package com.lyc.email;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;

@Slf4j
public class MailAction {

    public static boolean send(Mail mail) {
        //傳送方電子郵件地址
        String from = "[email protected]";
        //傳送的埠號
        int port = 25;
        //傳送的主機地址(需要開通pop3服務)
        String host = "smtp.163.com";
        //傳送方電子郵件密碼
        String pass = "password";
        //傳送方暱稱
        String nickname = "zhangzhenyi";

        HtmlEmail email = new HtmlEmail();
        try {
            email.setHostName(host);
            email.setCharset("UTF-8");
            for (String str : mail.getReceivers()) {
                email.addTo(str);
            }
            email.setFrom(from, nickname);
            email.setSmtpPort(port);
            email.setAuthentication(from, pass);
            email.setSubject(mail.getSubject());
            email.setMsg(mail.getMessage());
            email.send();
            log.info("{} 傳送郵件到 {}", from, StringUtils.join(mail.getReceivers(), ","));
            return true;
        } catch (EmailException e) {
            log.error(from + "傳送郵件到" + StringUtils.join(mail.getReceivers(), ",") + "失敗", e);
            return false;
        }
    }

}

測試程式碼MailTest原始碼:

package com.lyc.mail;

import com.lyc.email.Mail;
import com.lyc.email.MailAction;
import org.junit.Assert;
import org.junit.Test;

import java.util.HashSet;
import java.util.Set;

public class MailTest {

    @Test
    public void test(){
        //新增接收者電子郵件地址
        Set<String> receivers = new HashSet<String>();
        receivers.add("[email protected]");
        Mail mail = Mail.builder()
                .subject("異常資訊標題")   //傳送的電子郵件標題
                .message("異常資訊內容")   //傳送的電子郵件內容
                .receivers(receivers).build();
        //斷言傳送的電子郵件是否成功
        Assert.assertEquals(true,MailAction.send(mail));
    }

}

測試的結果:

這裡寫圖片描述

相關推薦

Commons Email-電子郵件傳送

資源連結 Commons Email 官網地址 Commons Email API 文件 碼雲上的專案原始碼 email Commons Email簡介   公用電子郵件的目標是提供一個傳送電子郵件的API。它是建立在Jav

[原始碼和報告分享] C#實現的基於SMTP協議的E-MAIL電子郵件傳送客戶端軟體

利用SMTP和Pop協議從底層開發了這個軟體。SMTP全稱是簡單郵件傳輸協議,它專門用來發送郵件用的。Pop全稱是郵局協議,是專門用於接收郵件的。我主要是負責如何實現傳送郵件功能的。MailSend名稱空間是我整個程式的核心。它包括兩個類。在SmtpMail的類中包含了一個SendMail的方法,它

java 用Apache Commons Email郵件

所需jar包:commons-email-1.4.jar和mail-1.4.1jar SimpleEmail 用於傳送普通文字郵件 package liu.email; import org.apache.commons.mail.EmailException; imp

電子郵件傳送和接收過程 一一 SMTP、POP3、IMAP

電子郵件傳送協議主要是SMTP,收件協議主要是POP3和IMAP; SMTP 的全稱是“Simple Mail Transfer Protocol”,即簡單郵件傳輸協議。它是一組用於從源地址到目的地址

基於apache-commons-email1.4 郵件傳送

MailUtil.java package com.lucky.base.common.util; import com.zuche.framework.utils.PropertiesReader; import org.apache.commons.mail.HtmlEmail; import

電子郵件傳送的原理以及簡易實現

    在程式碼開始之前,我們先手工模擬一遍傳送電子郵件的過程,那麼接下來的程式碼你就容易懂多了!     下面以163郵箱為例!           先鍵入telnet命令,然後連線到網易的smtp伺服器,使用25號埠.            接著看下圖: <&l

java利用commons-email.jar傳送郵件

這幾天寫了一個簡歷網站,因為簡歷下面有個聯絡我的功能,這個功能可以可以向郵箱傳送郵件,所以自己便開始學習部落格開始解決傳送郵件功能。 引入相關jar包 要用commos-email.jar實現傳送郵箱功能需要先匯入三個jar包: commos-email.jar

用 apache commons-email 輕鬆傳送無亂碼郵件

commons-email是apache提供的一個開源的API,是對javamail的封裝,因此在使用時要將javamail.jar加 到 class path中,主要包括SimpleEmail,MultiPartEmail,HtmlEmail,EmailAttachment四個類。  SimpleEmail

通過commons-email-1.5簡單實現郵件傳送

簡單的利用官方包 commons-email  傳送郵件。  具體的業務邏輯裡邊可以寫介面或則利用spring 事物和監聽實現複雜的業務邏輯,當然也可以用到其它的方法。 import java.io

使用Apache commons email傳送郵件

今天研究了一下怎麼用java程式碼傳送郵件,用的是Apache的commons-email包。 據說這個包是對javamail進行了封裝,簡化了操作。 這裡講一下具體用法吧   一.首先你需要有郵箱賬號和一個授權碼。 需要進入到QQ郵箱或者是網易郵箱裡面去獲取。在郵箱的設定->賬戶裡面,開啟如

java利用commons-email發送郵件並進行封裝

subject 組件 style ons dep system RR hid toa 本例中利用commons-email發送郵件並進行封裝,支持html內容和附件;Commons Email是Apache的Commons子項目下的一個郵件客戶端組件,它是基於JavaMai

[Swift Weekly Contest 108]LeetCode929. 獨特的電子郵件地址 | Unique Email Addresses

you nts 例如 nbsp uniq 兩個 quest 使用 main Every email consists of a local name and a domain name, separated by the @ sign. For example, in

Android實現快速傳送電子郵件

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

【SSH網上商城專案實戰25】使用java email給使用者傳送郵件

      當用戶購買完商品後,我們應該向使用者傳送一封郵件,告訴他訂單已生成之類的資訊,郵箱地址是從使用者的基本資訊中獲取,好了,首先我們來看一下java中傳送郵件的方法。

Magento Transactional Emails常規設定 magento email:快速實現傳送自定義郵件

郵件是幾乎所有電商系統都要用到的功能,在magento中實現簡單的郵件傳送並不複雜,不過要想用特定郵件模板,就需要對magento郵件系統做一些深入瞭解,本文就分析一下如何傳送自定義郵件。之前已經發了一篇介紹magento基本郵件設定的文章 Magento Transactional Emails

呼叫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

tp5傳送電子郵件

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

LeetCode 929. Unique Email Addresses (獨特的電子郵件地址)

題目標籤:String   題目說明 有兩個規則針對於 local name。 所以先把local name 和 domain name 分開。   兩個規則是:     rule 1:'.' 會被去除。 (利用replace 把 '.' 換成 '')     rule 2:'+' 之後的所有東西都會