日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java jmail_java jmail

發(fā)布時(shí)間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java jmail_java jmail 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

發(fā)送郵件的主要步驟

1.設(shè)置發(fā)送的協(xié)議,也就是設(shè)置smtp和驗(yàn)證機(jī)制(一般協(xié)議都是通過Properties鍵值形式來設(shè)置)

2.發(fā)送郵件需要的幾個(gè)重要類Session ,Message,Transport

3.Session對象可以通過Session的getInstance(java.util.Properties props)

或getInstance(java.util.Properties props, Authenticator authenticator) ?Authenticator 可以理解為密碼和用戶名的驗(yàn)證器

或getDefaultInstance(java.util.Properties props)

或getDefaultInstance(java.util.Properties props, Authenticator authenticator)

4.郵件的一些重要內(nèi)容都是通過Message設(shè)置,比例內(nèi)容,主題,接收人..

接收人可以通過Message的setRecipients(Message.RecipientType type,Address address)

Message.RecipientType 有三個(gè)重要屬性 1.BCC(密送),2.CC(抄送) ,3.TO(收件人)

5.可以通過Transport.send(Message msg)發(fā)送郵件

一般發(fā)送簡單的郵件上面幾個(gè)步驟就可以實(shí)現(xiàn)了,但是要發(fā)送一封復(fù)雜的郵件(有附件和文本,圖片)還需要以下步驟

A.發(fā)送復(fù)雜郵件需要這個(gè)兩個(gè)重要類MimeBodyPart 和 MimeMultipart

先要搞清楚文本和圖片的關(guān)系是related,而文本和圖片再加上附件的關(guān)系就是mixed

B.文本用一個(gè)MimeBodyPart對象保存

C.圖片也是用一個(gè)MimeBodyPart對象保存

D.用一個(gè)MimeMultipart A對象來保存,保存文本的MimeBodyPart對象和保存圖片的MimeBodyPart對象

這個(gè)MimeMultipart對象 通過構(gòu)造函數(shù) new MimeMultipart("related")獲取

E.附件也是用一個(gè)MimeBodyPart C對象保存

F.用一個(gè)總MimeBodyPart B對象來保存MimeMultipart A對象

G.還得用一個(gè)總的MimeMultipart all對象來保存MimeBodyPart C對象和MimeBodyPart B對象

這個(gè)all對象通過構(gòu)造函數(shù) new MimeMultipart("mixed")獲取

H.最后用Message.setContent(Multipart mp)方法保存總的郵件

I.可以通過Transport.send(Message msg)發(fā)送郵件

現(xiàn)在發(fā)送一份簡單的郵件,郵件內(nèi)容只含有一些文字

Code:

package com.michael.email;

import java.util.Properties;

import javax.mail.Address;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

// @author Michael.Wu

//JavaMail 發(fā)送郵件

public class JavaEmail {

public static void main(String[] args) throws AddressException, MessagingException {

Properties properties = new Properties();

properties.setProperty("mail.transport.protocol", "smtp");//發(fā)送郵件協(xié)議

properties.setProperty("mail.smtp.auth", "true");//需要驗(yàn)證

// properties.setProperty("mail.debug", "true");//設(shè)置debug模式 后臺輸出郵件發(fā)送的過程

Session session = Session.getInstance(properties);

session.setDebug(true);//debug模式

//郵件信息

Message messgae = new MimeMessage(session);

messgae.setFrom(new InternetAddress("whyao@sina.cn"));//設(shè)置發(fā)送人

messgae.setText("what's up man");//設(shè)置郵件內(nèi)容

messgae.setSubject("哥們該吃飯了");//設(shè)置郵件主題

//發(fā)送郵件

Transport tran = session.getTransport();

// tran.connect("smtp.sohu.com", 25, "wuhuiyao@sohu.com", "xxxx");//連接到新浪郵箱服務(wù)器

tran.connect("smtp.sina.com", 25, "whyao@sina.cn", "xxxxxxx");//連接到新浪郵箱服務(wù)器

// tran.connect("smtp.qq.com", 25, "Michael8@qq.vip.com", "xxxx");//連接到QQ郵箱服務(wù)器

tran.sendMessage(messgae, new Address[]{ new InternetAddress("Michael8@qq.vip.com")});//設(shè)置郵件接收人

tran.close();

}

}

====================================================================================

把郵件的用戶名和密碼改為你們自己的,就可以發(fā)送郵件了。有一個(gè)地方得注意,設(shè)置發(fā)送人和和你當(dāng)前 ? ? ? 發(fā)送郵件用的賬號要相同,不然會報(bào)異常或會收不到郵件。以前發(fā)送人和發(fā)送郵件的賬號是可以不同的現(xiàn) ? ? ? 在就不行,可能是郵箱服務(wù)商不允許的原因吧。

接下來發(fā)送一份復(fù)雜的郵件(含有附件和圖片,文本)

Code:

package com.michael.email;

import java.io.File;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.Message.RecipientType;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeBodyPart;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeMultipart;

//@author Michael.wu

// 發(fā)送復(fù)雜的郵件(文本內(nèi)容,附件,圖片)

public class JavaEmail3 {

public static void main(String[] args) throws MessagingException {

//發(fā)送郵件的協(xié)議

Properties properties = new Properties();

properties.setProperty("mail.smtp.auth","true");//設(shè)置驗(yàn)證機(jī)制

properties.setProperty("mail.transport.protocol","smtp");//發(fā)送郵件協(xié)議

properties.setProperty("mail.smtp.host","smtp.sina.com");//設(shè)置郵箱服務(wù)器地址

properties.setProperty("mail.smtp.port","25");

Session session = Session.getInstance(properties,new MyAuthenticator());

session.setDebug(true);

Message message = new MimeMessage(session);

message.setFrom(new InternetAddress("whyao@sina.cn"));

message.setSubject("一封復(fù)雜的郵件");

message.setRecipients(RecipientType.TO,InternetAddress.parse("michael8@vip.qq.com"));//接收人

message.setRecipients(RecipientType.CC,InternetAddress.parse("1348800595@qq.com"));//抄送人

message.setRecipients(RecipientType.BCC,InternetAddress.parse("1348800595@qq.com"));//密送人

MimeBodyPart bodyPartAttch = createAttachMent("C:\\Users\\Administrator\\Desktop\\mail.jar");//附件

MimeBodyPart bodyPartContentAndPic = createContentAndPic("I just want to Fuck","C:\\Users\\Administrator\\Desktop\\0.jpg");//文本內(nèi)容

MimeMultipart mimeMuti = new MimeMultipart("mixed");

mimeMuti.addBodyPart(bodyPartAttch);

mimeMuti.addBodyPart(bodyPartContentAndPic);

message.setContent(mimeMuti);

message.saveChanges();

//message.setContent("Michael", "text/html;charset=gbk");

Transport.send(message);

}

//創(chuàng)建附件

public static MimeBodyPart createAttachMent(String path) throws MessagingException{

MimeBodyPart mimeBodyPart = new MimeBodyPart();

FileDataSource dataSource = new FileDataSource( new File(path));

mimeBodyPart.setDataHandler(new DataHandler(dataSource));

mimeBodyPart.setFileName(dataSource.getName());

return mimeBodyPart;

}

//創(chuàng)建文本和圖片

public static MimeBodyPart createContentAndPic(String content,String path) throws MessagingException{

MimeMultipart mimeMutiPart = new MimeMultipart("related");

//圖片

MimeBodyPart picBodyPart = new MimeBodyPart();

FileDataSource fileDataSource = new FileDataSource( new File(path));

picBodyPart.setDataHandler(new DataHandler(fileDataSource));

picBodyPart.setFileName(fileDataSource.getName());

mimeMutiPart.addBodyPart(picBodyPart);

//文本

MimeBodyPart contentBodyPart = new MimeBodyPart();

contentBodyPart.setContent(content,"text/html;charset=gbk");

mimeMutiPart.addBodyPart(contentBodyPart);

//圖片和文本結(jié)合

MimeBodyPart allBodyPart = new MimeBodyPart();

allBodyPart.setContent(mimeMutiPart);

return allBodyPart;

}

}

Code:

package com.michael.email;

import javax.mail.Authenticator;

import javax.mail.PasswordAuthentication;

public class MyAuthenticator extends Authenticator {

private static final String userName = "whyao@sina.cn";

private static final String passWord = "xxxxxxx";

// * @author Michael.wu

//* 密碼和用戶的驗(yàn)證

public MyAuthenticator() {

super();

}

@Override

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(userName, passWord);

}

}

//注意上面通過Main方法發(fā)送出去的郵件,圖片會以附件的形式顯示。如果你想把圖片當(dāng)做背景圖或者是想在文本中插一張圖片,還要把上面的createContentAndPic方法改改。

code:

//創(chuàng)建文本和圖片

public static MimeBodyPart createContentAndPic(String content,String path) throws MessagingException, UnsupportedEncodingException{

MimeMultipart mimeMutiPart = new MimeMultipart("related");

//圖片

MimeBodyPart picBodyPart = new MimeBodyPart();

FileDataSource fileDataSource = new FileDataSource( new File(path));

picBodyPart.setDataHandler(new DataHandler(fileDataSource));

picBodyPart.setFileName(MimeUtility.encodeText("米克個(gè)人照"));//解決中文亂碼問題

picBodyPart.setHeader("Content-Location", "http://www.michael.com/mike.jpg");

//http://www.michael.com/mike.jpg這個(gè)路徑是后面文本圖片的路徑

//文本

MimeBodyPart contentBodyPart = new MimeBodyPart();

//img的src要和setHeader中設(shè)置的值一樣

contentBodyPart.setContent(content+"","text/html;charset=gbk");

mimeMutiPart.addBodyPart(contentBodyPart);

mimeMutiPart.addBodyPart(picBodyPart);

//圖片和文本結(jié)合

MimeBodyPart allBodyPart = new MimeBodyPart();

allBodyPart.setContent(mimeMutiPart);

return allBodyPart;

}

//通過上面的程序發(fā)送出的郵件,在Foxmail中打開,圖片會在文本中正常顯示。而在QQ郵箱 新浪郵箱 打開這封郵件,圖片會以附件的形式顯示,在文本中顯示不出來。這到底是什么原因,或是還要設(shè)置什么。我還沒有弄明白。希望看到這篇博客的網(wǎng)友,知道是什么原因的,還得請你們也告訴我一聲,謝謝。

總結(jié)

以上是生活随笔為你收集整理的java jmail_java jmail的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲亚洲女同hd | 国产精品一区二区毛片 | jizz18欧美18 | 亚洲欧美精品午睡沙发 | 久久日本精品字幕区二区 | 一本色道久久综合亚洲二区三区 | 精品欧美在线 | 精品在线小视频 | 日韩在线视频在线 | 国产一区二区三区视频网站 | 欧美一级二级三级视频 | 国产精品综合久久 | 清纯粉嫩极品夜夜嗨av | 啪啪亚洲 | 在线免费观看污片 | 香蕉毛片 | 五月婷婷综合激情网 | hitomi一区二区三区精品 | 闺蜜张开腿让我爽了一夜 | 国产精品成av人在线视午夜片 | mm131美女大尺度私密照尤果 | 神马九九| 国产精品1区 | 免费黄色av | 黄色视屏在线免费观看 | 99精品在线免费视频 | 手机免费av片 | 中文字幕av不卡 | 日本少妇久久久 | 欧美 日韩 国产 精品 | 亚洲视频在线看 | 日韩高清一区 | 日本成人社区 | 黄色一级生活片 | 日韩69视频| 免费毛片一级 | 欧美日韩黄 | 91精品国产91综合久久蜜臀 | 久久久99精品| 国产一久久 | 黄色一级生活片 | 国产精品久久久久久69 | 日韩中文在线一区 | 2019最新中文字幕 | 亚洲经典视频 | 中文字幕精品视频在线观看 | 午夜影院男女 | 男人天堂av网 | 亚洲a中文字幕 | 一级理论片 | 爱情岛论坛永久入址测速 | 黑人操欧美人 | 亚洲区成人 | 欧美特黄 | 国产在线一 | 人妻洗澡被强公日日澡 | 亚洲高清无码久久久 | 一级黄网 | 亚洲va韩国va欧美va | 日韩免费黄色 | 国产成人精品亚洲 | 涩色网站| www.亚洲一区二区 | wwwxxx色| 三级免费网址 | 黄色av一区二区三区 | 青青青在线观看视频 | 免费成人在线看 | 国产一级特黄aaa大片 | 制服丝袜亚洲 | 丝袜 中出 制服 人妻 美腿 | 思思久久99 | 激情综合网婷婷 | 疯狂做爰高潮videossex | 初恋视频污| 国产色影院 | 涩涩屋视频 | 欧美日韩一区二区电影 | 国模叶桐尿喷337p人体 | 69成人网| 久久综合丁香 | 黄色网址在线播放 | av涩涩| 性生活视频网站 | 欧美体内谢she精2性欧美 | 四色在线 | 国产欧美一区二区三区白浆喷水 | 日本一区视频在线播放 | freesex性hd公交车上 | 久久99久久99精品免观看粉嫩 | 日韩精品一区二区三区视频 | 国产馆av| 国产乱xxⅹxx国语对白 | 天天综合网久久综合网 | 免费在线观看污网站 | 天天射天天干天天舔 | 精品国产一区二区三区四区精华 | 超碰77 | 国产精品原创 |