成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

郵件傳輸模塊java代碼 郵件發(fā)送java

求java實現郵件發(fā)送的源代碼

import java.util.*;

10多年的保定網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都營銷網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整保定建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯從事“保定網站設計”,“保定網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

import javax.mail.*;import javax.mail.internet.*;

public class JMail {

public void SendMail(String Topic,String Content){ Properties props=new Properties(); props.put("mail.smtp.host","smtp.163.com"); props.put("mail.smtp.auth","true"); Session s=Session.getInstance(props); s.setDebug(false); MimeMessage message=new MimeMessage(s); MimeMultipart mp=new MimeMultipart(); BodyPart body = new MimeBodyPart(); InternetAddress from; InternetAddress to; try{ from=new InternetAddress("發(fā)件人郵箱"); message.setFrom(from); to = new InternetAddress("收件人郵箱"); message.setRecipient(Message.RecipientType.TO,to); message.setSubject(Topic,"utf-8"); body.setContent(Content, "text/html;charset=utf-8"); mp.addBodyPart(body); message.setContent(mp); message.setSentDate(new Date()); message.saveChanges(); Transport transport=s.getTransport("smtp"); transport.connect("smtp.163.com(郵件服務商,這是163的)","發(fā)件郵箱","發(fā)件郵箱密碼"); transport.sendMessage(message,message.getAllRecipients()); transport.close(); } catch(AddressException e){ e.printStackTrace(); } catch(MessagingException e){ e.printStackTrace(); } }}

如何寫一個JAVA類可以實現郵件發(fā)送功能,也可以實現群發(fā)功能

package byd.core;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.io.UnsupportedEncodingException;

import java.net.Socket;

import java.nio.charset.Charset;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import sun.misc.BASE64Encoder;

/**

* 該類使用Socket連接到郵件服務器, 并實現了向指定郵箱發(fā)送郵件及附件的功能。

*

* @author Kou Hongtao

*/

public class Email {

/**

* 換行符

*/

private static final String LINE_END = "\r\n";

/**

* 值為“true”輸出高度信息(包括服務器響應信息),值為“ false”則不輸出調試信息。

*/

private boolean isDebug = true;

/**

* 值為“true”則在發(fā)送郵件{@link Mail#send()} 過程中會讀取服務器端返回的消息,

* 并在郵件發(fā)送完畢后將這些消息返回給用戶。

*/

private boolean isAllowReadSocketInfo = true;

/**

* 郵件服務器地址

*/

private String host;

/**

* 發(fā)件人郵箱地址

*/

private String from;

/**

* 收件人郵箱地址

*/

private ListString to;

/**

* 抄送地址

*/

private ListString cc;

/**

* 暗送地址

*/

private ListString bcc;

/**

* 郵件主題

*/

private String subject;

/**

* 用戶名

*/

private String user;

/**

* 密碼

*/

private String password;

/**

* MIME郵件類型

*/

private String contentType;

/**

* 用來綁定多個郵件單元{@link #partSet}

* 的分隔標識,我們可以將郵件的正文及每一個附件都看作是一個郵件單元 。

*/

private String boundary;

/**

* 郵件單元分隔標識符,該屬性將用來在郵件中作為分割各個郵件單元的標識 。

*/

private String boundaryNextPart;

/**

* 傳輸郵件所采用的編碼

*/

private String contentTransferEncoding;

/**

* 設置郵件正文所用的字符集

*/

private String charset;

/**

* 內容描述

*/

private String contentDisposition;

/**

* 郵件正文

*/

private String content;

/**

* 發(fā)送郵件日期的顯示格式

*/

private String simpleDatePattern;

/**

* 附件的默認MIME類型

*/

private String defaultAttachmentContentType;

/**

* 郵件單元的集合,用來存放正文單元和所有的附件單元。

*/

private ListMailPart partSet;

private ListMailPart alternativeList;

private String mixedBoundary;

private String mixedBoundaryNextPart;

/**

* 不同類型文件對應的{@link MIME} 類型映射。在添加附件

* {@link #addAttachment(String)} 時,程序會在這個映射中查找對應文件的

* {@link MIME} 類型,如果沒有, 則使用

* {@link #defaultAttachmentContentType} 所定義的類型。

*/

private static MapString, String contentTypeMap;

private static enum TextType {

PLAIN("plain"), HTML("html");

private String v;

private TextType(String v) {

this.v = v;

}

public String getValue() {

return this.v;

}

}

static {

// MIME Media Types

contentTypeMap = new HashMapString, String();

contentTypeMap.put("xls", "application/vnd.ms-excel");

contentTypeMap.put("xlsx", "application/vnd.ms-excel");

contentTypeMap.put("xlsm", "application/vnd.ms-excel");

contentTypeMap.put("xlsb", "application/vnd.ms-excel");

contentTypeMap.put("doc", "application/msword");

contentTypeMap.put("dot", "application/msword");

contentTypeMap.put("docx", "application/msword");

contentTypeMap.put("docm", "application/msword");

contentTypeMap.put("dotm", "application/msword");

}

/**

* 該類用來實例化一個正文單元或附件單元對象,他繼承了 {@link Mail}

* ,在這里制作這個子類主要是為了區(qū)別郵件單元對象和郵件服務對象 ,使程序易讀一些。

* 這些郵件單元全部會放到partSet 中,在發(fā)送郵件 {@link #send()}時, 程序會調用

* {@link #getAllParts()} 方法將所有的單元合并成一個符合MIME格式的字符串。

*

* @author Kou Hongtao

*/

private class MailPart extends Email {

public MailPart() {

}

}

/**

* 默認構造函數

*/

public Email() {

defaultAttachmentContentType = "application/octet-stream";

simpleDatePattern = "yyyy-MM-dd HH:mm:ss";

boundary = "--=_NextPart_zlz_3907_" + System.currentTimeMillis();

boundaryNextPart = "--" + boundary;

contentTransferEncoding = "base64";

contentType = "multipart/mixed";

charset = Charset.defaultCharset().name();

partSet = new ArrayListMailPart();

alternativeList = new ArrayListMailPart();

to = new ArrayListString();

cc = new ArrayListString();

bcc = new ArrayListString();

mixedBoundary = "=NextAttachment_zlz_" + System.currentTimeMillis();

mixedBoundaryNextPart = "--" + mixedBoundary;

}

/**

* 根據指定的完整文件名在 {@link #contentTypeMap} 中查找其相應的MIME類型,

* 如果沒找到,則返回 {@link #defaultAttachmentContentType}

* 所指定的默認類型。

*

* @param fileName

* 文件名

* @return 返回文件對應的MIME類型。

*/

private String getPartContentType(String fileName) {

String ret = null;

if (null != fileName) {

int flag = fileName.lastIndexOf(".");

if (0 = flag flag fileName.length() - 1) {

fileName = fileName.substring(flag + 1);

}

ret = contentTypeMap.get(fileName);

}

if (null == ret) {

ret = defaultAttachmentContentType;

}

return ret;

}

/**

* 將給定字符串轉換為base64編碼的字符串

*

* @param str

* 需要轉碼的字符串

* @param charset

* 原字符串的編碼格式

* @return base64編碼格式的字符

*/

private String toBase64(String str, String charset) {

if (null != str) {

try {

return toBase64(str.getBytes(charset));

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

return "";

}

/**

* 將指定的字節(jié)數組轉換為base64格式的字符串

*

* @param bs

* 需要轉碼的字節(jié)數組

* @return base64編碼格式的字符

*/

private String toBase64(byte[] bs) {

return new BASE64Encoder().encode(bs);

}

/**

* 將給定字符串轉換為base64編碼的字符串

*

* @param str

* 需要轉碼的字符串

* @return base64編碼格式的字符

*/

private String toBase64(String str) {

return toBase64(str, Charset.defaultCharset().name());

}

/**

* 將所有的郵件單元按照標準的MIME格式要求合并。

*

* @return 返回一個所有單元合并后的字符串。

*/

private String getAllParts() {

StringBuilder sbd = new StringBuilder(LINE_END);

sbd.append(mixedBoundaryNextPart);

sbd.append(LINE_END);

sbd.append("Content-Type: ");

sbd.append("multipart/alternative");

sbd.append(";");

sbd.append("boundary=\"");

sbd.append(boundary).append("\""); // 郵件類型設置

sbd.append(LINE_END);

sbd.append(LINE_END);

sbd.append(LINE_END);

addPartsToString(alternativeList, sbd, getBoundaryNextPart());

sbd.append(getBoundaryNextPart()).append("--");

sbd.append(LINE_END);

addPartsToString(partSet, sbd, mixedBoundaryNextPart);

sbd.append(LINE_END);

sbd.append(mixedBoundaryNextPart).append("--");

sbd.append(LINE_END);

// sbd.append(boundaryNextPart).

// append(LINE_END);

alternativeList.clear();

partSet.clear();

return sbd.toString();

}

用java寫一個郵件發(fā)送代碼

public boolean mainto()

{

boolean flag = true;

//建立郵件會話

Properties pro = new Properties();

pro.put("mail.smtp.host","smtp.qq.com");//存儲發(fā)送郵件的服務器

pro.put("mail.smtp.auth","true"); //通過服務器驗證

Session s =Session.getInstance(pro); //根據屬性新建一個郵件會話

//s.setDebug(true);

//由郵件會話新建一個消息對象

MimeMessage message = new MimeMessage(s);

//設置郵件

InternetAddress fromAddr = null;

InternetAddress toAddr = null;

try

{

fromAddr = new InternetAddress(451144426+"@qq.com"); //郵件發(fā)送地址

message.setFrom(fromAddr); //設置發(fā)送地址

toAddr = new InternetAddress("12345367@qq.com"); //郵件接收地址

message.setRecipient(Message.RecipientType.TO, toAddr); //設置接收地址

message.setSubject(title); //設置郵件標題

message.setText(content); //設置郵件正文

message.setSentDate(new Date()); //設置郵件日期

message.saveChanges(); //保存郵件更改信息

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

transport.connect("smtp.qq.com", "451144426", "密碼"); //服務器地址,郵箱賬號,郵箱密碼

transport.sendMessage(message, message.getAllRecipients()); //發(fā)送郵件

transport.close();//關閉

}

catch (Exception e)

{

e.printStackTrace();

flag = false;//發(fā)送失敗

}

return flag;

}

這是一個javaMail的郵件發(fā)送代碼,需要一個mail.jar

當前標題:郵件傳輸模塊java代碼 郵件發(fā)送java
轉載來于:http://jinyejixie.com/article28/dosghjp.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站維護、電子商務域名注冊、網站改版、網站建設、靜態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

小程序開發(fā)
贵溪市| 定州市| 高青县| 来安县| 大丰市| 日喀则市| 辽源市| 石林| 满洲里市| 巴南区| 南部县| 牡丹江市| 黄龙县| 大姚县| 晋中市| 玉田县| 五家渠市| 德钦县| 龙州县| 宜都市| 镇雄县| 电白县| 鹤壁市| 东丰县| 剑河县| 虞城县| 沙田区| 尖扎县| 开封市| 乌鲁木齐县| 乌鲁木齐县| 六枝特区| 榆树市| 东阿县| 油尖旺区| 三台县| 敦煌市| 沿河| 阿图什市| 锡林浩特市| 蒙阴县|