免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Java郵件收發(fā)SMTP和POP3
Java郵件收發(fā)SMTP和POP3
 
SMTP的連接和收發(fā)過程:
a.建立TCP連接。
b.客戶端發(fā)送HELO命令以標(biāo)識發(fā)件人自己的身份,然后客戶端發(fā)送MAIL命令服務(wù)器端正希望以O(shè)K作為響應(yīng),表明準(zhǔn)備接收。
c.客戶端發(fā)送RCPT命令,以標(biāo)識該電子郵件的計劃接收人,可以有多個RCPT行
d.協(xié)商結(jié)束,發(fā)送郵件,用命令DATA發(fā)送
e.以.表示結(jié)束輸入內(nèi)容一起發(fā)送出去
f.結(jié)束此次發(fā)送,用QUIT命令退出。
SMTP的基本命令集:
HELO 向服務(wù)器標(biāo)識用戶身份
MAIL 初始化郵件傳輸mail from:
RCPT 標(biāo)識單個的郵件接收人;常在MAIL命令后面可有多個rcpt to:
DATA 在單個或多個RCPT命令后,表示所有的郵件接收人已標(biāo)識,初始化數(shù)據(jù)傳輸,以.結(jié)束。
NOOP 無操作,服務(wù)器應(yīng)響應(yīng)OK
RSET 重置會話,當(dāng)前傳輸被取消
QUIT 結(jié)束會話
POP3簡介:
在POP3協(xié)議中有三種狀態(tài),認(rèn)可狀態(tài),處理狀態(tài),和更新狀態(tài)。當(dāng)客戶機與服務(wù)器建立聯(lián)系時,一旦客戶機提供了自己身份并成功確認(rèn),即由認(rèn)可狀態(tài)轉(zhuǎn)入處理狀態(tài),在完成相應(yīng)的操作后客戶機發(fā)出quit命令,則進入更新狀態(tài),更新之后最后重返認(rèn)可狀態(tài)。
POP3基本命令集:
USER username
PASS password
STAT 請求服務(wù)器發(fā)回關(guān)于郵箱的統(tǒng)計資料,如郵件總數(shù)和總字節(jié)數(shù)
LIST 返回郵件數(shù)量和每個郵件的大小
RETR [Msg#] 返回由參數(shù)標(biāo)識的郵件的全部文本
DELE [Msg#] 服務(wù)器將由參數(shù)標(biāo)識的郵件標(biāo)記為刪除,由quit命令執(zhí)行
RSET 服務(wù)器將重置所有標(biāo)記為刪除的郵件,用于撤消DELE命令
NOOP 服務(wù)器返回一個肯定的響應(yīng)
QUIT 更新

class POP3Demo {
   private static String POP3Server = "pop.126.com";
    private static String USERNAME = "username";//實際應(yīng)用中改成真實的用戶名
    private static String PASSWORD = "password";//實際應(yīng)用中改成真實的密碼
    public static void main(String[] args) {
        int POP3Port = 110;
        Socket client = null;
        try {
            // 向POP3服務(wù)程序建立一個套接字連接。
            client = new Socket(POP3Demo.POP3Server, POP3Port);
            // 創(chuàng)建一個BufferedReader對象,以便從套接字讀取輸出。
            InputStream is = client.getInputStream();
            BufferedReader sockin = new BufferedReader(new InputStreamReader(is));
            // 創(chuàng)建一個PrintWriter對象,以便向套接字寫入內(nèi)容。
            OutputStream os = client.getOutputStream();
            PrintWriter sockout = new PrintWriter(os, true);
            // 顯示同SMTP服務(wù)程序的握手過程。
            System.out.println("S:" + sockin.readLine());
            sockout.println("user " + POP3Demo.USERNAME);
            System.out.println("S:" + sockin.readLine());
            sockout.println("pass " + POP3Demo.PASSWORD);
            System.out.println("S:" + sockin.readLine());
            sockout.println("stat");
            String temp[] = sockin.readLine().split(" ");
            int count = Integer.parseInt(temp[1]);//得到信箱中共有多少封郵件
            for (int i = 1; i < count + 1; i++) {//依次打印出郵件的內(nèi)容
                sockout.println("retr " + i);
                System.out.println("以下為第" + i + "封郵件的內(nèi)容");
                while (true) {
                    String reply = sockin.readLine();
                    System.out.println(reply);
                    if (reply.toLowerCase().equals(".")) {
                        break;
                    }
                }
            }
        } catch (IOException e) {
            System.out.println(e.toString());
        } finally {
            try {
                if (client != null) {
                    client.close();
                }
            } catch (IOException e) {}
        }
    }
}
class SMTPDemo {
    //以下三項請在使用時改成真實的信箱地址
    //并且注意,SMTPServer和receiver必須是同一個服務(wù)器
    private static String sender = "sender";
    private static String receiver = "receiver";
    private static String SMTPServer = "smtpserver";
    public static void main(String[] args) {
        int SMTPPort = 25;
        Socket client = null;
        try {
            // 向SMTP服務(wù)程序建立一個套接字連接。
            client = new Socket(SMTPDemo.SMTPServer, SMTPPort);
            // 創(chuàng)建一個BufferedReader對象,以便從套接字讀取輸出。
            InputStream is = client.getInputStream();
            BufferedReader sockin = new BufferedReader(new InputStreamReader(is));
            // 創(chuàng)建一個PrintWriter對象,以便向套接字寫入內(nèi)容。
            OutputStream os = client.getOutputStream();
            PrintWriter sockout = new PrintWriter(os, true);
            // 顯示同SMTP服務(wù)程序的握手過程。
            System.out.println("S:" + sockin.readLine());
            sockout.println("helo");
            System.out.println("S:" + sockin.readLine());
            sockout.println("mail from: " + "<" + SMTPDemo.sender + ">");
            System.out.println("S:" + sockin.readLine());
            sockout.println("rcpt to: " + "<" + SMTPDemo.receiver + ">");
            System.out.println("S:" + sockin.readLine());
            sockout.println("data");
            //發(fā)送郵件標(biāo)題
            sockout.println("subject: 你好");
            //發(fā)送郵件內(nèi)容
            sockout.println("ni hao");
            sockout.println("wo shi li jian");
            //此處的.為特殊標(biāo)記,表示郵件結(jié)束
            sockout.println(".");
            sockout.println("rset");
            sockout.println("quit");
        } catch (IOException e) {
            System.out.println(e.toString());
        } finally {
            try {
                if (client != null) {
                    client.close();
                }
            } catch (IOException e) {}
        }
    }
}
 
本篇文章來源于:開發(fā)學(xué)院 http://edu.codepub.com   原文鏈接:http://edu.codepub.com/2010/0603/23196.php
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用java開發(fā)Email工具之發(fā)送郵件
怎樣設(shè)置郵件帳戶?
Yahoo郵箱POP3設(shè)置方法 -
163郵箱如何開啟POP3/SMTP/IMAP服務(wù)?
郵件常用端口
JavaMail郵件發(fā)送實用類
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服