1. 程式人生 > >JavaMail實現簡單郵件開發——163郵箱

JavaMail實現簡單郵件開發——163郵箱

1、開啟

P0P3/SMTP/IMAP

2、開發工具類

CodeUtils.java
package com.demo.mymail.utils;

import java.util.UUID;

public class CodeUtils {
   
   public static String generateUniqueCode(){
      return UUID.randomUUID().toString().replaceAll("-", "");
   }
}
MailUtils.java
package com.demo.mymail.utils;

import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

public class MailUtils implements Runnable {
   private String uName="[email protected]";
   private String authorCode="my1075125776";
   private String email;
   private String msg;

   public MailUtils(String email, String msg) {
      this.email = email;
      this.msg = msg;
   }

   public void run() {
     // 配置
     Properties prop=new Properties();
     // 設定郵件伺服器主機名,這裡是163
     prop.put("mail.host","smtp.163.com" );
     // 傳送郵件協議名稱
     prop.put("mail.transport.protocol", "smtp");
     // 是否認證
     prop.put("mail.smtp.auth", true);

     try {
       // SSL加密
       MailSSLSocketFactory sf = null;
       sf = new MailSSLSocketFactory();
       // 設定信任所有的主機
       sf.setTrustAllHosts(true);
       prop.put("mail.smtp.ssl.enable", "true");
       prop.put("mail.smtp.ssl.socketFactory", sf);

       // 建立會話物件
       Session session = Session.getDefaultInstance(prop, new Authenticator() {
         // 認證資訊,需要提供"使用者賬號","授權碼"
         public PasswordAuthentication getPasswordAuthentication() {
           return new PasswordAuthentication(uName, authorCode);
         }
       });
       // 是否打印出debug資訊
       session.setDebug(true);

       // 建立郵件
       Message message = new MimeMessage(session);
       // 郵件傳送者
       message.setFrom(new InternetAddress(uName));
       // 郵件接受者
       message.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
       // 郵件主題
       message.setSubject("私人郵件");
       
       message.setContent(msg, "text/html;charset=UTF-8");
       // Transport.send(message);
       // 郵件傳送
       Transport transport = session.getTransport();
       transport.connect();
       transport.sendMessage(message, message.getAllRecipients());
       transport.close();
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
}

3、引入工具包

<dependency>
   <groupId>javax.mail</groupId>
   <artifactId>mail</artifactId>
   <version>1.4.7</version>
</dependency>
<dependency>
   <groupId>javax.activation</groupId>
   <artifactId>activation</artifactId>
   <version>1.1.1</version>
</dependency>

4、呼叫服務

package com.demo.mymail.controller;

import com.demo.mymail.utils.MailUtils;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/mymail/mail/")
public class MailController {
    /**
     * 傳送郵件
     * @return
     */
    @GetMapping("send")
    public void send() {
        String msg = "<html><head></head><body><h1>LIUJIANJIAN</h1><h3><a href='https://www.baidu.com/'>友情連結</href></h3></body></html>";
        new Thread(new MailUtils("[email protected]", msg)).start();
    }

}

相關推薦

JavaMail實現簡單郵件開發——163郵箱

1、開啟 P0P3/SMTP/IMAP 2、開發工具類 CodeUtils.java package com.de

【2018.05.07】python3.6+selenium 實現自動登入126/163郵箱,然後傳送郵件

  # coding:utf-8 ''' 說明: 這個自動化指令碼要實現的是: 自動登入126/163郵箱, 傳送郵件遇到的問題:什麼時候切控制代碼, 有些總是定位不到的屬性如何定位(css)值得擁有 ''' from selenium import webdriver impor

基於JavaMail簡單郵件傳送

電子郵件的應用非常廣泛,例如在某網站註冊了一個賬戶,自動傳送一封歡迎郵件,通過郵件找回密碼,自動批量傳送活動資訊等。但這些應用不可能和我們自己平時發郵件一樣,先開啟瀏覽器,登入郵箱,建立郵件再發送。本文將簡單介紹如何通過 Java 程式碼來建立電子郵件,並連線郵件伺服器傳送郵件。 1. 電子郵件

使用JavaMail傳送簡單郵件

使用Spring+JavaMail,把傳送郵件做成了一個http服務 @RequestMapping(value = "/mail", method = RequestMethod.POST, produces={"application/json;charset=UTF-8"}) publ

JavaWeb中使用JavaMail實現傳送郵件功能例項詳解

現在很多的網站都提供有使用者註冊功能, 通常我們註冊成功之後就會收到一封來自注冊網站的郵件。郵件裡面的內容可能包含了我們的註冊的使用者名稱和密碼以及一個啟用賬戶的超連結等資訊。今天我們也來實現一個這樣的功能,使用者註冊成功之後,就將使用者的註冊資訊以Email的形式傳送到使

一、JAVA傳送簡單郵件(QQ郵箱為例)

以QQ郵箱為例 1.匯入jar包:## <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> &l

使用javamail實現傳送郵件

1.需求 公司有個需求要將頻繁登入伺服器的ip地址及時進行郵件和簡訊報警,故要寫一個傳送郵件和簡訊的程式 2.問題描述 從網上down了一些java程式碼,不是較為理想,大部分都使用javamail來實現,傳送到網易郵箱沒什麼問題,但qq郵箱不行,網易郵箱

java 傳送郵件和讀取郵件163郵箱為例)

1,傳送郵件 (1)在設定裡面開啟163郵箱的smtp、pop3,設定授權碼 (2)在引用pom.xml中引用mail.jar <dependency > <groupId >com.sun.mail </groupId &g

ActiveMQ入門系列之應用:Springboot+ActiveMQ+JavaMail實現非同步郵件傳送

現在郵件傳送功能已經是幾乎每個系統或網址必備的功能了,從使用者註冊的確認到找回密碼再到訊息提醒,這些功能普遍的會用到郵件傳送功能。我們都買過火車票,買完後會有郵件提醒,有時候郵件並不是買完票立馬就能收到郵件通知,這個就用到了非同步郵件傳送。 那怎麼實現郵件的非同步傳送呢? 很顯然,引入MQ是一個不錯的選擇

G. PHP發送郵件功能實現(使用163郵箱

wid ucc 認證 bubuko min change hit function chan 第一步我用的是163郵箱發送郵件,做一個嘗試,在嘗試之前,需要要開啟163郵箱的授權碼如圖所示,請記住您的授權碼,將在之後的步驟中用到第二步需要下載一個類PHPMailer,我有這

JAVAmail簡單實現傳送郵件

Android在郵件客戶端的設計中,有兩種實現方法: 一、呼叫Android系統自帶的郵件服務 ,這種方法簡單易用,但是傳送郵件的賬號必須是gmail賬號 二、採用javamail功能包進行設計,不必侷限於特定郵箱,但是比前一種較麻煩 1、使用Android 自帶的

使用JavaMail進行簡單SMTP郵件傳送測試,從網易郵箱傳送到QQ郵箱

===========TLS版本=========== 本文使用的JavaMail版本為1.5.2 import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Messa

Java Web(十三) 使用javamail進行傳送郵件,(使用QQ,163,新浪郵箱伺服器)

    加油加油。                     --WH 一、傳送郵件的原理     在瞭解其原理之前,先要知道兩個協議,SMTP和POP3       SMTP:Simple Mail Transfer Protocol,即簡單郵件傳輸協議,傳送郵件的協議,

Java 基於JavaMail實現向QQ郵箱傳送郵件

需求 最近專案在做新聞爬蟲,想實現這個功能:爬蟲某個頁面失敗後,把這個頁面的 url 發到筆者的郵箱。最終實現的效果圖如下,後期可以加上過濾標籤、失敗狀態碼等,方便分類搜尋異常。 開發人員可以根據郵件裡的 url 和堆疊資訊,分析爬蟲失敗的原因。 是

phpmailer實現簡單郵件傳送(以網易郵箱smtp伺服器為例)

1、描述 第一次做到用php做到傳送郵件的功能。 Google了一下,php內建函式裡面有一個mail()函式。但是使用mail的話,會涉及到很多問題,我也沒有仔細研究過,反正都是和smtp協議息息相關。 於是,就去GitHub上開源的檔案傳送封裝好的專案

使用 163 郵箱傳送 javamail 郵件時的錯誤提示及原因

(1)553 Requested action not taken: Local user only SMTP型別的機器只允許發信人是本站使用者; 使用者名稱或密碼不正確,並且需要設定如下屬性 props.put("mail.sm

java 程式碼實現163郵箱傳送郵件到QQ郵箱

1.建立一個使用者類,來接收發送郵件的郵箱地址和授權密碼(需要注意的是,這裡的密碼不是正常使用郵箱的登陸密碼,而是客戶端生成的另一個專門的授權碼   ,這裡需要開啟相應的傳送郵件的服務,這裡開啟的是pop3/smtp服務)package appsoft.cd.applicat

[selenium]實現自動登入163郵箱併發送郵件

一、最近在學習selenium,感覺功能蠻好的,先給一張效果圖: 二、程式碼如下: #-*-coding:utf-8-*- from selenium import webdriver fr

javamail實現用普通QQ郵箱傳送郵件

本人最近在寫一個Android專案,使用者註冊的時候想用郵箱驗證的方式,於是就需要在伺服器端傳送電子郵件給新註冊使用者,郵件內容中包含一個 連結, 當用戶點選這個連結將 登入到伺服器 的驗證邏輯。本人在網上找了很多程式碼,可能由於是很久以前的了,各大郵箱的規範

Struts1應用、實現簡單計算器、使用DispatchAction、顯示友好的報錯信息、使用動態Form簡化開發

實體類 ica setattr sources 建立 -s number asc rlogin 實現簡單的支持加、減、乘、除的計算器 復制一份Struts1Demo改動:Struts1Calc 方案1: Struts1Calc 創建ActionForm: CalcFor