欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現簡單郵件發(fā)送功能

 更新時間:2022年06月22日 11:02:14   作者:深藍夢夕陽  
這篇文章主要為大家詳細介紹了Java實現簡單郵件發(fā)送功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現簡單郵件發(fā)送的具體代碼,供大家參考,具體內容如下

需要的jar包:

  • activation-1.1.1.jar
  • mail-1.4.7.jar

QQ郵箱設置開啟POP3/SMTP服務,并獲得授權碼

java實現簡單郵件發(fā)送

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;

public class Mail1 {
? ? public static ?void main(String[] args) throws Exception {
? ? ? ? //要發(fā)送郵件,需要獲得協(xié)議和支持!開啟服務POP3/SMTP服務 ?授權碼: fsxqgovorymigfeb
? ? ? ? Properties prop=new Properties();
? ? ? ? prop.setProperty("mail.host","smtp.qq.com");//設置QQ郵件服務器
? ? ? ? prop.setProperty("mail.transport.protocol","smtp");//設置郵箱發(fā)送協(xié)議
? ? ? ? prop.setProperty("mail.smtp.auth","true");//需要驗證用戶名密碼

? ? ? ? //QQ郵箱還有設置SSL加密
? ? ? ? MailSSLSocketFactory sf=new MailSSLSocketFactory();
? ? ? ? sf.setTrustAllHosts(true);
? ? ? ? prop.put("mail.smtp.ssl.enable","true");
? ? ? ? prop.put("mail.smtp.ssl.socketFactory",sf);

? ? ? ? //1.創(chuàng)建定義整個應用程序所需要的環(huán)境信息的Session對象
? ? ? ? Session session=Session.getDefaultInstance(prop, new Authenticator() {
? ? ? ? ? ? @Override
? ? ? ? ? ? protected PasswordAuthentication getPasswordAuthentication() {
? ? ? ? ? ? ? ? return new PasswordAuthentication("1369410772@qq.com","fsxqgovorymigfeb");
? ? ? ? ? ? }
? ? ? ? });

? ? ? ? //開啟session的debug模式,這樣就可以查看運行狀態(tài)了
? ? ? ? session.setDebug(true);

? ? ? ? //2.通過session對象獲得transport對象
? ? ? ? Transport transport = session.getTransport();

? ? ? ? //3.使用郵箱的用戶名和授權碼連上郵件服務器
? ? ? ? transport.connect("smtp.qq.com","1369410772@qq.com","fsxqgovorymigfeb");
? ? ? ? //4.創(chuàng)建郵件:寫郵件
? ? ? ? MimeMessage message = new MimeMessage(session);

? ? ? ? message.setFrom(new InternetAddress("1369410772@qq.com"));//發(fā)件人
? ? ? ? message.setRecipient(Message.RecipientType.TO,new InternetAddress("1369410772@qq.com"));//收件人
? ? ? ? message.setSubject("你好");//郵件主題
? ? ? ? message.setContent("<h1 style='color: red'>你好</h1>","text/html;charset=utf-8");//郵件內容
? ? ? ? //5.發(fā)送郵件
? ? ? ? transport.sendMessage(message,message.getAllRecipients());
? ? ? ? //6.關閉連接
? ? ? ? transport.close();

? ? }
}

java實現復雜郵件發(fā)送( 帶文件 )

import com.sun.mail.util.MailSSLSocketFactory;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.Properties;

public class Mail1 {
? ? public static ?void main(String[] args) throws Exception {
? ? ? ? //要發(fā)送郵件,需要獲得協(xié)議和支持!開啟服務POP3/SMTP服務 ?授權碼: fsxqgovorymigfeb
? ? ? ? Properties prop=new Properties();
? ? ? ? prop.setProperty("mail.host","smtp.qq.com");//設置QQ郵件服務器
? ? ? ? prop.setProperty("mail.transport.protocol","smtp");//設置郵箱發(fā)送協(xié)議
? ? ? ? prop.setProperty("mail.smtp.auth","true");//需要驗證用戶名密碼

? ? ? ? //QQ郵箱還有設置SSL加密
? ? ? ? MailSSLSocketFactory sf=new MailSSLSocketFactory();
? ? ? ? sf.setTrustAllHosts(true);
? ? ? ? prop.put("mail.smtp.ssl.enable","true");
? ? ? ? prop.put("mail.smtp.ssl.socketFactory",sf);

? ? ? ? //1.創(chuàng)建定義整個應用程序所需要的環(huán)境信息的Session對象
? ? ? ? Session session=Session.getDefaultInstance(prop, new Authenticator() {
? ? ? ? ? ? @Override
? ? ? ? ? ? protected PasswordAuthentication getPasswordAuthentication() {
? ? ? ? ? ? ? ? return new PasswordAuthentication("1369410772@qq.com","fsxqgovorymigfeb");
? ? ? ? ? ? }
? ? ? ? });

? ? ? ? //開啟session的debug模式,這樣就可以查看運行狀態(tài)了
? ? ? ? session.setDebug(true);

? ? ? ? //2.通過session對象獲得transport對象
? ? ? ? Transport transport = session.getTransport();

? ? ? ? //3.使用郵箱的用戶名和授權碼連上郵件服務器
? ? ? ? transport.connect("smtp.qq.com","1369410772@qq.com","fsxqgovorymigfeb");
? ? ? ? //4.創(chuàng)建郵件:寫郵件
? ? ? ? MimeMessage message = new MimeMessage(session);

? ? ? ? message.setFrom(new InternetAddress("1369410772@qq.com"));//發(fā)件人
? ? ? ? message.setRecipient(Message.RecipientType.TO,new InternetAddress("1369410772@qq.com"));//收件人
? ? ? ? message.setSubject("你好");//郵件主題
? ? ? ? //message.setContent("<h1 style='color: red'>你好</h1>","text/html;charset=utf-8");//郵件內容

? ? ? ? //=============================================================================
? ? ? ? //帶圖片的內容
? ? ? ? MimeBodyPart image = new MimeBodyPart();
? ? ? ? DataHandler dh = new DataHandler(new FileDataSource("E:\\IDEA\\JavaWeb\\mail-java\\src\\tx.png"));//圖片需要經過數據處理... DataHandler:數據處理
? ? ? ? image.setDataHandler(dh);//在Body中放入處理的圖片數據
? ? ? ? image.setContentID("tx.png");//給圖片設置ID

? ? ? ? //準備正文數據
? ? ? ? MimeBodyPart text = new MimeBodyPart();
? ? ? ? text.setContent("這是一封郵件正文帶圖片<img src='cid:tx.png'>的郵件","text/html;charset=utf-8");

? ? ? ? //描述數據關系
? ? ? ? MimeMultipart mm = new MimeMultipart();
? ? ? ? mm.addBodyPart(text);
? ? ? ? mm.addBodyPart(image);
? ? ? ? mm.setSubType("mixed");

? ? ? ? //設置到消息中,保存修改
? ? ? ? message.setContent(mm);
? ? ? ? message.saveChanges();
? ? ? ? //=========================================================================

? ? ? ? //5.發(fā)送郵件
? ? ? ? transport.sendMessage(message,message.getAllRecipients());
? ? ? ? //6.關閉連接
? ? ? ? transport.close();

? ? }
}

Spring實現

1、添加依賴

<dependency>
? ? <groupId>org.springframework.boot</groupId>
? ? <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2、編寫配置文件

spring.mail.username=1369410772@qq.com
spring.mail.password=fsxqgovorymigfeb
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true

3、編寫測試類

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class DemoApplicationTests {//簡單郵件

? ? @Autowired
? ? JavaMailSenderImpl mailSender;

? ? @Test
? ? void contextLoads() {
? ? ? ? //發(fā)送郵件
? ? ? ? //收件人
? ? ? ? //內容

? ? ? ? SimpleMailMessage message = new SimpleMailMessage();
? ? ? ? message.setSubject("測試");
? ? ? ? message.setText("Hello");
? ? ? ? message.setFrom("1369410772@qq.com");
? ? ? ? message.setTo("1369410772@qq.com");
? ? ? ? mailSender.send(message);

? ? }

? ? @Test
? ? public void test2() throws Exception {//復雜郵件
? ? ? ? MimeMessage mimeMessage = mailSender.createMimeMessage();
? ? ? ? MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
? ? ? ? helper.setSubject("測試");
? ? ? ? helper.setText("Hello",true);

? ? ? ? //附件
? ? ? ? helper.addAttachment("1.jpg",new File(""));

? ? ? ? helper.setFrom("1369410772@qq.com");
? ? ? ? helper.setTo("1369410772@qq.com");

? ? ? ? mailSender.send(mimeMessage);

? ? }

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java?緩沖流的概念使用方法以及實例詳解

    java?緩沖流的概念使用方法以及實例詳解

    這篇文章主要為大家介紹了java?緩沖流的概念使用方法以及實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • JavaTCP上傳文本文件代碼

    JavaTCP上傳文本文件代碼

    今天小編就為大家分享一篇關于JavaTCP上傳文本文件代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • SpringBoot利用限速器RateLimiter實現單機限流的示例代碼

    SpringBoot利用限速器RateLimiter實現單機限流的示例代碼

    本文主要介紹了SpringBoot利用限速器RateLimiter實現單機限流的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Java線程池框架核心代碼解析

    Java線程池框架核心代碼解析

    這篇文章主要針對Java線程池框架核心代碼進行詳細解析,分析Java線程池框架的實現ThreadPoolExecutor,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Java程序員容易犯的10大低級錯誤

    Java程序員容易犯的10大低級錯誤

    這篇文章主要介紹了Java程序員容易犯的10大低級錯誤,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-09-09
  • MyBatis 配置之集合的嵌套方式

    MyBatis 配置之集合的嵌套方式

    這篇文章主要介紹了MyBatis 配置之集合的嵌套方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java設計模式之簡單工廠模式簡述

    java設計模式之簡單工廠模式簡述

    這篇文章主要為大家詳細介紹了java設計模式之簡單工廠模式,簡單工廠模式的實質是由一個工廠類根據傳入的參數,動態(tài)決定應該創(chuàng)建哪一個產品類的實例,感興趣的小伙伴們可以參考一下
    2016-08-08
  • hystrix配置中Apollo與Archaius對比分析

    hystrix配置中Apollo與Archaius對比分析

    這篇文章主要為大家介紹了hystrix的配置中Apollo與Archaius對比分析,并為大家解答在hystrix的配置中有了Apollo是否還需要Archaius這一問題詳解
    2022-02-02
  • SpringMVC上傳和解析Excel方法

    SpringMVC上傳和解析Excel方法

    這篇文章主要介紹了SpringMVC上傳和解析Excel方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Springboot插件開發(fā)實戰(zhàn)分享

    Springboot插件開發(fā)實戰(zhàn)分享

    這篇文章主要介紹了Springboot插件開發(fā)實戰(zhàn)分享,文章通過新建aop切面執(zhí)行類MonitorLogInterceptor展開詳細的相關內容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05

最新評論