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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java mail urlname_javamail收发信件时,服务器,收发方的名称应该怎样设置才有效呢

發布時間:2024/9/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mail urlname_javamail收发信件时,服务器,收发方的名称应该怎样设置才有效呢 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

package com.gwxc.hz.mail.demo;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Properties;

import javax.mail.BodyPart;

import javax.mail.Flags;

import javax.mail.Folder;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Multipart;

import javax.mail.NoSuchProviderException;

import javax.mail.Part;

import javax.mail.Session;

import javax.mail.Store;

import javax.mail.URLName;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import javax.mail.internet.MimeUtility;

public class ReciveOneMail {

/**

* 有一封郵件就需要建立一個ReciveMail對象

*/

private MimeMessage mimeMessage = null;

private String saveAttachPath = ""; // 附件下載后的存放目錄

private StringBuffer bodytext = new StringBuffer();// 存放郵件內容

private String dateformat = "yy-MM-dd HH:mm"; // 默認的日32313133353236313431303231363533e78988e69d8331333236383532前顯示格式

public ReciveOneMail(MimeMessage mimeMessage) {

this.mimeMessage = mimeMessage;

}

public void setMimeMessage(MimeMessage mimeMessage) {

this.mimeMessage = mimeMessage;

}

/**

* 獲得發件人的地址和姓名

*/

public String getFrom() throws Exception {

InternetAddress address[] = (InternetAddress[]) mimeMessage.getFrom();

String from = address[0].getAddress();

if (from == null)

from = "";

String personal = address[0].getPersonal();

if (personal == null)

personal = "";

String fromaddr = personal + "";

return fromaddr;

}

/**

* 獲得郵件的收件人,抄送,和密送的地址和姓名,根據所傳遞的參數的不同 "to"----收件人 "cc"---抄送人地址 "bcc"---密送人地址

*/

public String getMailAddress(String type) throws Exception {

String mailaddr = "";

String addtype = type.toUpperCase();

InternetAddress[] address = null;

if (addtype.equals("TO") || addtype.equals("CC")

|| addtype.equals("BCC")) {

if (addtype.equals("TO")) {

address = (InternetAddress[]) mimeMessage

.getRecipients(Message.RecipientType.TO);

} else if (addtype.equals("CC")) {

address = (InternetAddress[]) mimeMessage

.getRecipients(Message.RecipientType.CC);

} else {

address = (InternetAddress[]) mimeMessage

.getRecipients(Message.RecipientType.BCC);

}

if (address != null) {

for (int i = 0; i < address.length; i++) {

String email = address[i].getAddress();

if (email == null)

email = "";

else {

email = MimeUtility.decodeText(email);

}

String personal = address[i].getPersonal();

if (personal == null)

personal = "";

else {

personal = MimeUtility.decodeText(personal);

}

String compositeto = personal + "";

mailaddr += "," + compositeto;

}

mailaddr = mailaddr.substring(1);

}

} else {

throw new Exception("Error emailaddr type!");

}

return mailaddr;

}

/**

* 獲得郵件主題

*/

public String getSubject() throws MessagingException {

String subject = "";

try {

subject = MimeUtility.decodeText(mimeMessage.getSubject());

if (subject == null)

subject = "";

} catch (Exception exce) {

}

return subject;

}

/**

* 獲得郵件發送日期

*/

public String getSentDate() throws Exception {

Date sentdate = mimeMessage.getSentDate();

SimpleDateFormat format = new SimpleDateFormat(dateformat);

return format.format(sentdate);

}

/**

* 獲得郵件正文內容

*/

public String getBodyText() {

return bodytext.toString();

}

/**

* 解析郵件,把得到的郵件內容保存到一個StringBuffer對象中,解析郵件 主要是根據MimeType類型的不同執行不同的操作,一步一步的解析

*/

public void getMailContent(Part part) throws Exception {

String contenttype = part.getContentType();

int nameindex = contenttype.indexOf("name");

boolean conname = false;

if (nameindex != -1)

conname = true;

System.out.println("CONTENTTYPE: " + contenttype);

if (part.isMimeType("text/plain") && !conname) {

bodytext.append((String) part.getContent());

} else if (part.isMimeType("text/html") && !conname) {

bodytext.append((String) part.getContent());

} else if (part.isMimeType("multipart/*")) {

Multipart multipart = (Multipart) part.getContent();

int counts = multipart.getCount();

for (int i = 0; i < counts; i++) {

getMailContent(multipart.getBodyPart(i));

}

} else if (part.isMimeType("message/rfc822")) {

getMailContent((Part) part.getContent());

} else {

}

}

/**

* 判斷此郵件是否需要回執,如果需要回執返回"true",否則返回"false"

*/

public boolean getReplySign() throws MessagingException {

boolean replysign = false;

String needreply[] = mimeMessage

.getHeader("Disposition-Notification-To");

if (needreply != null) {

replysign = true;

}

return replysign;

}

/**

* 獲得此郵件的Message-ID

*/

public String getMessageId() throws MessagingException {

return mimeMessage.getMessageID();

}

/**

* 【判斷此郵件是否已讀,如果未讀返回返回false,反之返回true】

*/

public boolean isNew() throws MessagingException {

boolean isnew = false;

Flags flags = ((Message) mimeMessage).getFlags();

Flags.Flag[] flag = flags.getSystemFlags();

System.out.println("flags's length: " + flag.length);

for (int i = 0; i < flag.length; i++) {

if (flag[i] == Flags.Flag.SEEN) {

isnew = true;

System.out.println("seen Message.......");

break;

}

}

return isnew;

}

/**

* 判斷此郵件是否包含附件

*/

public boolean isContainAttach(Part part) throws Exception {

boolean attachflag = false;

String contentType = part.getContentType();

if (part.isMimeType("multipart/*")) {

Multipart mp = (Multipart) part.getContent();

for (int i = 0; i < mp.getCount(); i++) {

BodyPart mpart = mp.getBodyPart(i);

String disposition = mpart.getDisposition();

if ((disposition != null)

&& ((disposition.equals(Part.ATTACHMENT)) || (disposition

.equals(Part.INLINE))))

attachflag = true;

else if (mpart.isMimeType("multipart/*")) {

attachflag = isContainAttach((Part) mpart);

} else {

String contype = mpart.getContentType();

if (contype.toLowerCase().indexOf("application") != -1)

attachflag = true;

if (contype.toLowerCase().indexOf("name") != -1)

attachflag = true;

}

}

} else if (part.isMimeType("message/rfc822")) {

attachflag = isContainAttach((Part) part.getContent());

}

return attachflag;

}

/**

* 【保存附件】

*/

public void saveAttachMent(Part part) throws Exception {

String fileName = "";

if (part.isMimeType("multipart/*")) {

Multipart mp = (Multipart) part.getContent();

for (int i = 0; i < mp.getCount(); i++) {

BodyPart mpart = mp.getBodyPart(i);

String disposition = mpart.getDisposition();

if ((disposition != null)

&& ((disposition.equals(Part.ATTACHMENT)) || (disposition

.equals(Part.INLINE)))) {

fileName = mpart.getFileName();

if (fileName.toLowerCase().indexOf("gb2312") != -1) {

fileName = MimeUtility.decodeText(fileName);

}

saveFile(fileName, mpart.getInputStream());

} else if (mpart.isMimeType("multipart/*")) {

saveAttachMent(mpart);

} else {

fileName = mpart.getFileName();

if ((fileName != null)

&& (fileName.toLowerCase().indexOf("GB2312") != -1)) {

fileName = MimeUtility.decodeText(fileName);

saveFile(fileName, mpart.getInputStream());

}

}

}

} else if (part.isMimeType("message/rfc822")) {

saveAttachMent((Part) part.getContent());

}

}

/**

* 【設置附件存放路徑】

*/

public void setAttachPath(String attachpath) {

this.saveAttachPath = attachpath;

}

/**

* 【設置日期顯示格式】

*/

public void setDateFormat(String format) throws Exception {

this.dateformat = format;

}

/**

* 【獲得附件存放路徑】

*/

public String getAttachPath() {

return saveAttachPath;

}

/**

* 【真正的保存附件到指定目錄里】

*/

private void saveFile(String fileName, InputStream in) throws Exception {

String osName = System.getProperty("os.name");

String storedir = getAttachPath();

String separator = "";

if (osName == null)

osName = "";

if (osName.toLowerCase().indexOf("win") != -1) {

separator = "\\";

if (storedir == null || storedir.equals(""))

storedir = "c:\\tmp";

} else {

separator = "/";

storedir = "/tmp";

}

File storefile = new File(storedir + separator + fileName);

System.out.println("storefile's path: " + storefile.toString());

// for(int i=0;storefile.exists();i++){

// storefile = new File(storedir+separator+fileName+i);

// }

BufferedOutputStream bos = null;

BufferedInputStream bis = null;

try {

bos = new BufferedOutputStream(new FileOutputStream(storefile));

bis = new BufferedInputStream(in);

int c;

while ((c = bis.read()) != -1) {

bos.write(c);

bos.flush();

}

} catch (Exception exception) {

exception.printStackTrace();

throw new Exception("文件保存失敗!");

} finally {

bos.close();

bis.close();

}

}

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

Properties props = System.getProperties();

props.put("mail.smtp.host", "smtp.163.com");

props.put("mail.smtp.auth", "true");

Session session = Session.getDefaultInstance(props, null);

URLName urln = new URLName("pop3", "pop3.163.com", 110, null,

"dt_cj2004", "abcdefghij");

Store store = session.getStore(urln);

store.connect();

Folder folder = store.getFolder("spool");

//Folder folder = store.getFullName();

folder.open(Folder.READ_ONLY);

//System.out.println(folder.getNewMessageCount());

Message message[] = folder.getMessages();

System.out.println("Messages's length: " + message.length);

ReciveOneMail pmm = null;

/*

for (int i = 0; i < message.length; i++) {

System.out.println("======================");

pmm = new ReciveOneMail((MimeMessage) message[i]);

System.out

.println("Message " + i + " subject: " + pmm.getSubject());

System.out.println("Message " + i + " sentdate: "

+ pmm.getSentDate());

System.out.println("Message " + i + " replysign: "

+ pmm.getReplySign());

System.out.println("Message " + i + " hasRead: " + pmm.isNew());

System.out.println("Message " + i + " containAttachment: "

+ pmm.isContainAttach((Part) message[i]));

System.out.println("Message " + i + " form: " + pmm.getFrom());

System.out.println("Message " + i + " to: "

+ pmm.getMailAddress("to"));

System.out.println("Message " + i + " cc: "

+ pmm.getMailAddress("cc"));

System.out.println("Message " + i + " bcc: "

+ pmm.getMailAddress("bcc"));

pmm.setDateFormat("yy年MM月dd日 HH:mm");

System.out.println("Message " + i + " sentdate: "

+ pmm.getSentDate());

System.out.println("Message " + i + " Message-ID: "

+ pmm.getMessageId());

// 獲得郵件內容===============

pmm.getMailContent((Part) message[i]);

System.out.println("Message " + i + " bodycontent: \r\n"

+ pmm.getBodyText());

pmm.setAttachPath("c:\\");

pmm.saveAttachMent((Part) message[i]);

}

*/

}

}

package com.gwxc.hz.mail.demo;

import java.util.Properties;

import javax.activation.DataHandler;

import javax.activation.FileDataSource;

import javax.mail.BodyPart;

import javax.mail.Message;

import javax.mail.Multipart;

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;

public class MyMailTest {

/**

* @param args

*/

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

// 會話===========================

Properties props = System.getProperties();

props.put("mail.smtp.host", "smtp.163.com");

props.put("mail.smtp.auth", "true");// 需要驗證

Session session = Session.getDefaultInstance(props, null);

// msg 設置=======================

MimeMessage mimeMsg = new MimeMessage(session);

// 設置標題

mimeMsg.setSubject("標題test");

// 設置內容----begin

Multipart mp = new MimeMultipart();

// 添加文本

BodyPart bp1 = new MimeBodyPart();

bp1.setContent("文本內容", "text/html;charset=GB2312");

mp.addBodyPart(bp1);

// 添加附件

BodyPart bp2 = new MimeBodyPart();

FileDataSource fileds = new FileDataSource("c:\\boot.ini");

bp2.setDataHandler(new DataHandler(fileds));

bp2.setFileName(fileds.getName());

mp.addBodyPart(bp2);

mimeMsg.setContent(mp);

// 設置內容----end

mimeMsg.setFrom(new InternetAddress("xiangzhengyan@163.com"));

mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress

.parse("xiangyh@asiacom-online.com"));

mimeMsg.saveChanges();

// 傳輸==================================

Transport transport = session.getTransport("smtp");

transport.connect((String) props.get("mail.smtp.host"),

"xiangzhengyan", "pass");

transport.sendMessage(mimeMsg, mimeMsg

.getRecipients(Message.RecipientType.TO));

transport.close();

}

}

本回答被提問者采納

已贊過

已踩過<

你對這個回答的評價是?

評論

收起

總結

以上是生活随笔為你收集整理的java mail urlname_javamail收发信件时,服务器,收发方的名称应该怎样设置才有效呢的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲成人诱惑 | 亚洲国产欧美一区二区三区深喉 | 中国女人内谢69xxxx | 69视频在线看 | 97在线观看 | 天天色天天干天天色 | 91精品观看 | 国产精品久久国产精麻豆96堂 | 乖疼润滑双性初h | 成人片免费视频 | av特黄| 黄色在线播放 | 日韩视频免费观看高清完整版在线观看 | 国产手机看片 | 久草福利视频 | 中文字幕乱码人妻一区二区三区 | 国产成人啪精品 | 欧美丰满艳妇bbwbbw | 光明影院手机版在线观看免费 | 国产性生活 | 精品无人国产偷自产在线 | 干老太太视频 | 欧美老熟| 日韩蜜桃视频 | 九九九网站 | 自拍偷拍亚洲一区 | 国产精品天美传媒沈樵 | 亚洲欧美一二三区 | 精品国产欧美一区二区三区成人 | 国产视频h | 91精品啪在线观看国产 | 精品人妻一区二区三区蜜桃视频 | 高清一区二区在线 | 国产精品三级久久久久久电影 | 久久久久成人片免费观看蜜芽 | 丰满熟女人妻一区二区三 | 黑人巨大精品人妻一区二区 | 日本免费在线观看 | 99久久免费看精品国产一区 | 婷婷激情五月 | 成人午夜视频一区二区播放 | 又粗又大又硬又长又爽 | www,五月天,com | 五月婷婷免费视频 | 亚洲第一福利网站 | 五十路在线 | 亚洲熟女乱综合一区二区 | 爱爱免费视频 | 免费看av的网址 | 成人免费视频国产在线观看 | 国产伦精品一区二区三区照片91 | 九热在线视频 | 黄色片hd | 色女综合 | 蜜桃视频在线播放 | 五月婷在线 | 少妇高潮一区二区三区99 | 一级美女视频 | 一区二区三区免费 | 人妻丰满熟妇av无码区 | 国产福利资源 | 亚洲蜜桃视频 | 亚洲日本不卡 | 久久久.com | 在线观看sm | 成人欧美精品 | 精品人妻无码一区二区三 | av男女| 伦一理一级一a一片 | 色哟哟一区二区三区四区 | 成人精品999 | 午夜影视体验区 | 婷婷久久伊人 | 国产激情在线看 | 美日韩三级| 在线免费色 | 国产尤物av | 色老板最新地址 | 一区二区精品视频在线观看 | 黄色午夜影院 | juliaann办公室丝袜大战 | 大陆熟妇丰满多毛xxxⅹ | 最新国产中文字幕 | 91av一区二区三区 | 少妇 av| 男人天堂2014| 久久亚洲婷婷 | 欧美9999 | 欧美黄色录像片 | 国产美女喷水视频 | 成人精品电影 | 亚洲精品视频在线免费 | 天天干狠狠操 | 色呦呦一区 | 夜夜嗨av禁果av粉嫩av懂色av | 深夜福利视频在线观看 | 黄色男人的天堂 | 亚洲区欧美 | 日日噜噜噜噜人人爽亚洲精品 |