JavaMail學習

          package com.test.mail;

          import java.io.BufferedReader;
          import java.io.File;
          import java.io.InputStreamReader;
          import java.util.Properties;

          import javax.activation.DataHandler;
          import javax.activation.DataSource;
          import javax.activation.FileDataSource;
          import javax.mail.Address;
          import javax.mail.BodyPart;
          import javax.mail.Folder;
          import javax.mail.Message;
          import javax.mail.Multipart;
          import javax.mail.Session;
          import javax.mail.Store;
          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 testSendMail {
          ?public static void main(String[] arg) throws Exception{
          ??sendMailWithAttachement();
          //??recpMail();
          ?}
          ?
          ?
          ?
          ?/**
          ? * 不需要驗證的郵件發送
          ? * @throws Exception
          ? */
          ?private static void setMessage() throws Exception {
          ??Properties props = System.getProperties();
          ??props.put("mail.smtp.host","mail.infoservice.com.cn");? //設置smtp的服務器地址:該郵件服務器不需要身份驗證
          ??props.put("mail.smtp.auth","false");????????? ???//設置smtp服務器要身份驗證:缺省設置為false
          ??
          ??Address from = new InternetAddress("chencheng@infoservice.com.cn");
          ??Address to = new InternetAddress("zouqingbing@infoservice.com.cn");
          ??
          ??
          ??Session session = Session.getDefaultInstance(props,null);
          ??Message message = new MimeMessage(session);
          ??message.setFrom(from);
          ??message.addRecipient(Message.RecipientType.TO, to);
          ??message.setText("I love U!!!");
          ??message.setSubject("Test");
          ??
          ??Transport.send(message);
          ??System.out.println("郵件發送完畢!");
          ?}
          ?
          ?/**
          ? * 帶授權的發送郵件
          ? * @throws Exception
          ? */
          ?private static void setMessageWithAuthentica() throws Exception{
          ??Properties props = new Properties();
          ??props.put("mail.smtp.host","smtp.126.com");? //設置smtp的服務器地址是smtp.126.com
          ??props.put("mail.smtp.auth","true");????????? //設置smtp服務器要身份驗證。
          ??PopupAuthenticator auth = new PopupAuthenticator();
          ??Session session = Session.getInstance(props, auth);

          ??// 發送人地址
          ??Address addressFrom = new InternetAddress("zqbchina@126.com", "zqbchina");
          ??// 收件人地址
          ??Address addressTo = new InternetAddress("zqbchina@sina.com", "zqbchina");
          ??
          ??// 抄送地址
          ??// Address addressCopy = new InternetAddress("haocongping@gmail.com", "George Bush");
          ??Message message = new MimeMessage(session);
          ??message.setContent("This is mail content!", "text/plain");//或者使用message.setText("Hello");更詳細的信息請參看后續文章.
          ??message.setSubject("測試郵件標題");
          ??message.setFrom(addressFrom);
          ??message.addRecipient(Message.RecipientType.TO,addressTo);
          ??// message.addRecipient(Message.RecipientType.CC,addressCopy);
          ??message.saveChanges();
          ??// session.setDebug(true);
          ??Transport transport = session.getTransport("smtp");??//創建連接
          ??transport.connect("smtp.126.com", "zqbchina", "你的密碼");//連接服務器
          ??transport.send(message);?//發送信息
          ??transport.close();???//關閉連接
          ??System.out.println("郵件發送完畢!");
          ?}
          ?
          ?/**
          ? * 帶附件的郵件發送
          ? * @throws Exception
          ? */
          ?private static void sendMailWithAttachement() throws Exception{
          ??Properties props = new Properties();
          ??props.put("mail.smtp.host","smtp.126.com");? //設置smtp的服務器地址是smtp.126.com
          ??props.put("mail.smtp.auth","true");????????? //設置smtp服務器要身份驗證。
          ??PopupAuthenticator auth = new PopupAuthenticator();
          ??Session session = Session.getInstance(props, auth);
          ??File filename = new File("c:\\cmd.txt");
          ??
          ??// 發送人地址
          ??Address from = new InternetAddress("zqbchina@126.com", "zqbchina");
          ??Address to = new InternetAddress("zqbchina@sina.com", "zqbchina");
          ??
          ??//Define message
          ??Message message = new MimeMessage(session);
          ??message.setFrom(from);
          ??message.addRecipient(Message.RecipientType.TO,to);
          ??message.setSubject("Hello JavaMail Attachment");
          ??// Create the message part
          ??BodyPart messageBodyPart = new MimeBodyPart();
          ??// Fill the message
          ??messageBodyPart.setText("Pardon Ideas");
          ??Multipart multipart = new MimeMultipart();
          ??multipart.addBodyPart(messageBodyPart);
          ??// Part two is attachment
          ??messageBodyPart = new MimeBodyPart();
          ??DataSource source = new FileDataSource(filename);
          ??messageBodyPart.setDataHandler(new DataHandler(source));
          ??messageBodyPart.setFileName("cmd.txt");
          ??multipart.addBodyPart(messageBodyPart);
          ??// Put parts in message
          ??message.setContent(multipart);
          ??// Send the message
          ??Transport.send(message);
          ??
          ??
          ?}
          ?
          ?private static void recpMail() throws Exception{
          ??BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
          ??
          ??/*Properties props = new Properties();
          ??props.put("mail.smtp.host","smtp.sina.com");
          ??props.put("mail.smtp.auth","true");
          //??props.put("mail.pop3.socketFactory.fallback", "false");
          ??Session session = Session.getInstance(props, new PopupAuthenticator());
          ??
          ??Store store = session.getStore("pop3");
          ??store.connect();
          ??Folder folder = store.getFolder("INBOX");
          ??folder.open(Folder.READ_ONLY);
          //??Message[] messages = folder.getMessages();
          ??System.out.println(folder.getMessageCount());
          //??for (int i=0;i<messages.length;i++)
          ??folder.close(true);
          ??store.close();*/
          ??
          ??
          ??Properties props = new Properties();
          ??props.put("mail.smtp.host","mail.infoservice.com.cn");
          ??props.put("mail.smtp.auth","false");
          ??Session session = Session.getInstance(props, new PopupAuthenticator());
          ??
          ??Store store = session.getStore("pop3");
          ??store.connect("mail.infoservice.com.cn","zouqingbing","你的密碼");
          ??Folder folder = store.getFolder("INBOX");
          ??folder.open(Folder.READ_WRITE);
          ??System.out.println(folder.getPermanentFlags().getSystemFlags().length);
          ??Message[] messages = folder.getMessages();
          ??for (int i=0;i<messages.length;i++){
          ???if (i==19) messages[i].reply(true);
          ???
          ???System.out.println(i+": 發件人=["+messages[i].getFrom()[0]+"],標題=["+messages[i].getSubject()+"]");
          //???System.out.println("需要查看郵件內容嗎?[Y]---查看;[N]---暫時不看。");
          //???String line = reader.readLine();
          //???if ("Y".equals(line))
          //????System.out.println(messages[i].getContent().toString().getBytes("GB2312"));
          ??}
          ??folder.close(true);
          ??store.close();
          ?}
          ?
          }

          其中,身份驗證類:
          import javax.mail.Authenticator;
          import javax.mail.PasswordAuthentication;

          public class PopupAuthenticator extends Authenticator {
          ??? public PasswordAuthentication getPasswordAuthentication() {
          ??????? String username = "zqbchina"; //郵箱登錄帳號
          ??????? String pwd = "密碼"; ??? //登錄密碼
          ??????? return new PasswordAuthentication(username, pwd);
          ??? }
          }

          posted on 2008-05-26 12:24 心硯 閱讀(658) 評論(0)  編輯  收藏 所屬分類: Java

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          文章分類

          文章檔案

          Forum

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 黄梅县| 福海县| 新沂市| 兴文县| 湖州市| 四子王旗| 建阳市| 靖宇县| 台山市| 墨竹工卡县| 阿鲁科尔沁旗| 怀仁县| 灵璧县| 朝阳县| 酒泉市| 泾川县| 渑池县| 奈曼旗| 灵璧县| 都匀市| 清涧县| 濉溪县| 荃湾区| 汝南县| 精河县| 咸丰县| 维西| 云安县| 澎湖县| 连城县| 武隆县| 朝阳县| 霍邱县| 定陶县| 巫溪县| 淮安市| 陆良县| 汕头市| 沙坪坝区| 沈阳市| 澎湖县|