Java實(shí)現(xiàn)帶附件的郵件發(fā)送功能
本文實(shí)例為大家分享了Java實(shí)現(xiàn)郵件發(fā)送功能的具體代碼,供大家參考,具體內(nèi)容如下
1、需要導(dǎo)入mail.jar、activation.jar這兩個郵件發(fā)送的jar包,可在網(wǎng)上搜索并下載
2、需要設(shè)置相關(guān)郵箱服務(wù)器,我用的是QQ郵箱,操作如下所示:開啟相關(guān)服務(wù),并生產(chǎn)授權(quán)碼(這個代碼中會用到)。

代碼如下所示:
package com.ecg.controller;
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import com.sun.mail.util.MailSSLSocketFactory;
/**
* 郵件發(fā)送
*
* @author wanglongfei
* E-mail: islongfei@gmail.com
* @version 2017年8月27日
*
*/
public class mailtest {
public static void main(String [] args) throws GeneralSecurityException, UnsupportedEncodingException
{
// 收件人電子郵箱
String to = "2528621082@qq.com";
// 發(fā)件人電子郵箱
String from = "1135237317@qq.com";
// 指定發(fā)送郵件的主機(jī)為 smtp.qq.com
String host = "smtp.qq.com"; //QQ 郵件服務(wù)器
// 獲取系統(tǒng)屬性
Properties properties = System.getProperties();
// 設(shè)置郵件服務(wù)器
properties.setProperty("mail.smtp.host", host);
properties.put("mail.smtp.auth", "true");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.ssl.socketFactory", sf);
// 獲取默認(rèn)session對象
Session session = Session.getDefaultInstance(properties,new Authenticator(){
public PasswordAuthentication getPasswordAuthentication()
{ //qq郵箱服務(wù)器賬戶、第三方登錄授權(quán)碼
return new PasswordAuthentication("1135237317@qq.com", "dgahhkkjrtgafejj"); //發(fā)件人郵件用戶名、密碼
}
});
try{
// 創(chuàng)建默認(rèn)的 MimeMessage 對象
MimeMessage message = new MimeMessage(session);
// Set From: 頭部頭字段
message.setFrom(new InternetAddress(from));
// Set To: 頭部頭字段
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// Set Subject: 主題文字
message.setSubject("家醫(yī)康心電診斷結(jié)果");
// 創(chuàng)建消息部分
BodyPart messageBodyPart = new MimeBodyPart();
// 消息
messageBodyPart.setText("233333333333333");
// 創(chuàng)建多重消息
Multipart multipart = new MimeMultipart();
// 設(shè)置文本消息部分
multipart.addBodyPart(messageBodyPart);
// 附件部分
messageBodyPart = new MimeBodyPart();
//設(shè)置要發(fā)送附件的文件路徑
String filename = "C:/Users/下雨天-lalala/Desktop/家醫(yī)康心電圖/十二導(dǎo)聯(lián)同步心電圖-.png";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
//messageBodyPart.setFileName(filename);
//處理附件名稱中文(附帶文件路徑)亂碼問題
messageBodyPart.setFileName(MimeUtility.encodeText(filename));
multipart.addBodyPart(messageBodyPart);
// 發(fā)送完整消息
message.setContent(multipart );
// 發(fā)送消息
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于JavaMail的Java郵件發(fā)送
- JavaMail郵件發(fā)送機(jī)制詳解
- 基于JavaMail實(shí)現(xiàn)郵件發(fā)送
- 基于JavaMail的Java實(shí)現(xiàn)復(fù)雜郵件發(fā)送功能
- 基于JavaMail的Java實(shí)現(xiàn)簡單郵件發(fā)送功能
- JavaMail實(shí)現(xiàn)郵件發(fā)送的方法
- Java郵件發(fā)送程序(可以同時發(fā)給多個地址、可以帶附件)
- Java HtmlEmail 郵件發(fā)送的簡單實(shí)現(xiàn)代碼
- JavaWeb實(shí)現(xiàn)郵件發(fā)送接收功能
- 基于JavaMail實(shí)現(xiàn)簡單郵件發(fā)送
相關(guān)文章
Mybatis入門指南之實(shí)現(xiàn)對數(shù)據(jù)庫增刪改查
數(shù)據(jù)持久層主要負(fù)責(zé)數(shù)據(jù)的增、刪、改、查等功能,MyBatis 則是一款優(yōu)秀的持久層框架,下面這篇文章主要給大家介紹了關(guān)于Mybatis入門指南之實(shí)現(xiàn)對數(shù)據(jù)庫增刪改查的相關(guān)資料,需要的朋友可以參考下2022-10-10
Spring Cloud Alibaba配置多環(huán)境管理詳解與實(shí)戰(zhàn)代碼
本文通過實(shí)際案例詳細(xì)介紹了springboot配置多環(huán)境管理的使用,以及基于nacos的配置多環(huán)境管理的實(shí)踐,在實(shí)際開發(fā)中,配置多環(huán)境管理是一個很難避開的問題,同時也是微服務(wù)治理中一個很重要的內(nèi)容,感興趣的朋友跟隨小編一起看看吧2024-06-06
Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例
這篇文章主要介紹了Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02
Java SPI 機(jī)制知識點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于Java SPI 機(jī)制知識點(diǎn)總結(jié)內(nèi)容,需要的朋友們可以參考下。2020-02-02
Java遞歸實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要為大家詳細(xì)介紹了Java遞歸實(shí)現(xiàn)斐波那契數(shù)列,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02
Springboot發(fā)送郵件功能的實(shí)現(xiàn)詳解
電子郵件是—種用電子手段提供信息交換的通信方式,是互聯(lián)網(wǎng)應(yīng)用最廣的服務(wù)。本文詳細(xì)為大家介紹了SpringBoot實(shí)現(xiàn)發(fā)送電子郵件功能的示例代碼,需要的可以參考一下2022-09-09
解決maven?maven.compiler.source和maven.compiler.target的坑
這篇文章主要介紹了解決maven?maven.compiler.source和maven.compiler.target的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12

