Apakah itu POP3, SMTP dan IMAP. Protokol e-mel: POP3, IMAP4, SMTP

21/04/05 7.7K

Operasi Asas

Pada mulanya, pelayan mendengar sambungan TCP pada port 110. Apabila pelanggan ingin menggunakan perkhidmatan POP3, ia mesti mewujudkan sambungan ke pelayan. Selepas sambungan diwujudkan, pelayan menghantar hello kepada pelanggan. Pelanggan dan pelayan POP3 bertukar-tukar arahan dan respons (dalam susunan itu) sehingga sambungan ditutup atau ditamatkan. Perintah POP3 terdiri daripada kata kunci, yang boleh diikuti oleh satu atau lebih parameter. Semua arahan berakhir dengan pasangan CRLF. Kata kunci dan hujah terdiri daripada aksara ASCII yang boleh dicetak. Kata kunci dan hujah dipisahkan oleh satu ruang. Kata kunci terdiri daripada 3 atau 4 aksara, setiap hujah boleh mencapai sehingga 40 aksara.
Respons terdiri daripada penunjuk status dan kata kunci. Semua jawapan berakhir dengan pasangan CRLF. Pada masa ini terdapat dua penunjuk status: positif (+OK) dan negatif (-ERR).

Jawapan tertentu mungkin berbilang baris. Dalam kes ini, selepas baris respons pertama yang berakhir dengan CRLF, setiap baris tambahan yang dihantar berakhir dengan pasangan CRLF. Selepas semua baris respons telah dihantar, baris terakhir akan berakhir dengan oktet akhir - aksara. (“.”, kod perpuluhan 46) dan pasangan CRLF. Sesi POP3 terdiri daripada beberapa peringkat. Selepas mewujudkan sambungan TCP, pelayan menghantar helo dan sesi memasuki keadaan AUTHORIZATION. Pada peringkat ini, pelanggan mesti mengenal pasti dirinya kepada pelayan. Selepas pengecaman berjaya, sesi memasuki keadaan TRANSAKSI. Pada peringkat ini, pelanggan meminta pelaksanaan arahan pada pelayan. Apabila klien menghantar arahan QUIT, sesi memasuki keadaan KEMASKINI. Pada peringkat ini, pelayan POP3 mengeluarkan semua sumber yang digunakan dalam peringkat TRANSAKSI dan menamatkan kerjanya. Sambungan TCP kemudian ditutup. Pelayan POP3 MUNGKIN mempunyai pemasa autologout tidak aktif (pemasa sesi penamatan automatik apabila tidak aktif). Pemasa ini MESTI ditetapkan kepada sekurang-kurangnya 10 minit. Jika klien tidak menghantar arahan kepada pelayan dalam selang masa yang ditentukan, maka pelayan menutup sambungan TCP tanpa beralih kepada keadaan KEMASKINI, i.e. tanpa memadam mesej atau menghantar sebarang respons kepada pelanggan.

menyatakan KEBENARAN

Selepas pelanggan membuka sambungan TCP, pelayan menghantar helo satu talian. Baris mesti berakhir dengan CRLF.
Contoh:

S: +OK pelayan POP3 sedia

Catatan:
Pelayan POP3 hendaklah sentiasa menghantar respons positif sebagai ucapan.

Sesi kini dalam keadaan KEBENARAN. Pelanggan mesti mengenal pasti dirinya kepada pelayan. Dokumen ini menerangkan dua kaedah, gabungan perintah USER dan PASS dan arahan APOP. Untuk mengesahkan menggunakan perintah USER dan PASS, pelanggan mesti menghantar arahan USER terlebih dahulu. Jika pelayan bertindak balas dengan penunjuk status positif (+OK), maka pelanggan mesti menghantar arahan LULUS untuk melengkapkan kebenaran atau menghantar arahan QUIT untuk menamatkan sesi. Jika pelayan menghantar respons negatif (-ERR) kepada arahan USER, maka anda boleh mengulangi kebenaran atau menamatkan sesi dengan arahan QUIT.
Selepas menerima arahan PASS, pelayan menggunakan pasangan hujah USER dan PASS untuk menentukan akses kepada peti mel.
Sebaik sahaja pelayan telah menentukan melalui beberapa arahan pengesahan bahawa pelanggan harus diberikan akses kepada peti mel yang sepadan, pelayan POP3 mendapat akses eksklusif ke peti mel untuk mengelakkan mesej daripada diubah suai atau dipadamkan sebelum keadaan KEMASKINI. Jika penyekatan berjaya, pelayan menghantar respons positif dan rentetan helo. Sesi kini memasuki keadaan TRANSAKSI tanpa mesej yang ditandakan sebagai dipadamkan. Jika peti mel tidak boleh dibuka atas sebab tertentu (contohnya, kunci tidak dapat dilakukan atau klien dinafikan akses kepada peti mel yang sepadan), pelayan bertindak balas dengan penunjuk status negatif. Selepas respons negatif, pelayan boleh menutup sambungan. Jika pelayan belum menutup sambungan, pelanggan boleh menghantar arahan pengesahan baharu dan memulakan semula, atau menghantar arahan QUIT.
Selepas pelayan membuka peti mel, ia memberikan nombor kepada setiap mesej dan mencatat saiz mesej dalam oktet. Mesej pertama akan menjadi nombor 1, mesej seterusnya akan menjadi nombor 2, dan seterusnya. Dalam arahan POP3, semua nombor diwakili dalam perpuluhan.

Berikut ialah ringkasan tiga pasukan yang disemak setakat ini:

nama PENGGUNA

Hujah:
Rentetan pengenalan peti mel (diperlukan).

Sekatan:
Hanya boleh dihantar dalam keadaan AUTHORIZATION selepas ucapan POP3 atau arahan USER atau PASS yang tidak berjaya.

Jawapan yang mungkin:

Nama OK ialah peti mel yang sah -ERR tidak pernah mendengar nama peti mel

rentetan LULUS

Hujah:
kata laluan peti mel (diperlukan).

Sekatan:
Hanya boleh diluluskan dalam keadaan AUTHORIZATION selepas arahan USER berjaya.

Butiran:
Perintah PASS hanya mempunyai satu argumen; pelayan boleh menganggap ruang dalam parameter sebagai sebahagian daripada kata laluan, bukannya pemisah argumen.

Jawapan yang mungkin:

OK drop mel dikunci dan sedia -ERR kata laluan tidak sah -ERR tidak dapat mengunci maildrop

C: PENGGUNA mrose S: ​​​​+OK mrose ialah frood bergelung sebenar C: LULUS rahsia S: +OK mrose's maildrop mempunyai 2 mesej (320 oktet) ... C: PENGGUNA mrose S: ​​​​+OK mrose ialah frood hoopy sebenar C: LULUS rahsia S: -ERR maildrop sudah terkunci

BERHENTI

Hujah:
Tidak

Sekatan:
Tidak

Jawapan yang mungkin:

C: BERHENTI S: +OK pelayan POP3 dewey melog keluar

keadaan TRANSAKSI

Selepas klien berjaya mengenal pasti dirinya kepada pelayan dan pelayan telah mengunci dan membuka peti mel yang sepadan, sesi memasuki keadaan TRANSAKSI. Pelanggan kini boleh meminta maklumat. Selepas setiap arahan, pelayan menghantar respons. Pada akhirnya, pelanggan menghantar arahan QUIT dan sesi memasuki keadaan KEMASKINI.

STAT

Hujah:
Tidak

Sekatan:

Butiran:
Pelayan POP3 menghantar respons positif dengan baris yang mengandungi maklumat tentang peti mel. Baris ini dipanggil "drop listing". Untuk penghuraian mudah, pelayan POP3 menggunakan format khusus untuk "penyenaraian jatuh". Respons positif termasuk: penunjuk status (+OK), diikuti dengan bilangan mesej dan saiz mesej dalam oktet yang dipisahkan oleh satu ruang. Mesej yang ditandakan sebagai dipadam tidak dikira.

Jawapan yang mungkin:

C: STAT S: +OK 2 320

LIST mesej

Hujah:
Nombor mesej (pilihan), mesej yang ditandakan sebagai dipadam tidak dikira.

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Jika hujah diberikan, pelayan menghantar respons positif dengan rentetan maklumat untuk mesej yang diberikan. Baris ini dipanggil "penyenaraian imbasan". Jika hujah tidak diberikan, maka pelayan menghantar respons berbilang talian. Selepas penunjuk status (+OK), untuk setiap mesej dalam peti mel, pelayan POP3 menghantar baris yang mengandungi maklumat untuk mesej tersebut. Baris ini dipanggil "penyenaraian imbasan". Semua pelayan POP3 menggunakan format khusus untuk "penyenaraian imbasan". "Penyenaraian imbasan" terdiri daripada nombor mesej diikuti dengan satu ruang dan saiz tepat mesej dalam oktet. Dokumen ini tidak menyatakan apa yang harus mengikut panjang mesej, satu-satunya keperluan ialah respons berakhir dengan pasangan CRLF. Pelbagai sambungan mungkin termasuk maklumat tambahan.

Jawapan yang mungkin:

OK penyenaraian imbasan berikut -ERR tiada mesej sedemikian

C: SENARAI S: +OK 2 mesej (320 oktet) S: 1,120 S: 2,200 S: . ... C: SENARAI 2 S: +OK 2 200 ... C: SENARAI 3 S: -ERR tiada mesej sedemikian, hanya 2 mesej dalam surat mel

Mesej RETR

Hujah:

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Jika respons adalah positif, mengikut penunjuk status positif, pelayan menghantar respons berbilang talian yang mengandungi mesej yang ditentukan.

Jawapan yang mungkin:

OK mesej menyusuli -ERR tiada mesej sedemikian

Mesej DELE

Hujah:
Nombor mesej (diperlukan), mesej yang ditandakan sebagai dipadam tidak dikira.

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Pelayan POP3 menandakan mesej sebagai dipadam. Semua panggilan seterusnya ke mesej ini akan menghasilkan ralat. Malah, pelayan tidak memadam mesej sehingga keadaan KEMASKINI berlaku.

Jawapan yang mungkin:

OK mesej dipadam -ERR tiada mesej sedemikian

C: DELE 1 S: +OK mesej 1 dipadamkan ... C: DELE 2 S: -ERR mesej 2 sudah dipadamkan

NOOP

Hujah:
Tidak.

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Pelayan tidak melakukan apa-apa dan hanya bertindak balas secara positif.

Jawapan yang mungkin:

RSET

Hujah:
Tidak.

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Jika mesej telah ditandakan sebagai dipadam, pelayan mengalih keluar tanda ini. Jawapannya sentiasa ya.
Jawapan yang mungkin:

Kemaskini status

Apabila klien menghantar arahan QUIT dalam keadaan TRANSAKSI, pelayan memasuki peringkat KEMASKINI (Perhatikan bahawa jika klien menghantar arahan dalam keadaan KEBENARAN, pelayan menamatkan sesi dan tidak memasuki peringkat KEMASKINI). Jika sesi ditamatkan atas sebab lain, tanpa mengeluarkan arahan QUIT, sesi POP3 tidak memasuki peringkat KEMASKINI dan tiada mesej dari peti mel harus dipadamkan.

BERHENTI

Hujah:
Tidak.

Sekatan:
Tidak.

Butiran:
Pelayan memadam semua mesej yang ditandakan sebagai dipadam. Jawapan dihantar. Sambungan TCP ditutup.

Jawapan yang mungkin:

C: BERHENTI S: +OK pelayan POP3 dewey sedang ditandatangani (kirim mel kosong) ... C: BERHENTI S: +OK pelayan POP3 dewey ditandatangani (tinggal 2 mesej) ...

Perintah Pilihan

Perintah POP3 yang diterangkan di atas harus disokong oleh semua pelayan POP3. Arahan tambahan memberi pelanggan kebebasan yang lebih besar dalam memproses mesej. Nota: Dokumen ini menggalakkan sokongan untuk arahan tambahan dan bukannya menambah maklumat tambahan pada "jatuhkan penyenaraian" dan "penyenaraian imbasan".

Mesej TOP n

Hujah:
Nombor mesej (wajib) dan nombor bukan negatif yang menunjukkan bilangan baris badan mesej yang pelayan akan hantar kepada klien, hujah diperlukan. Anda tidak boleh mengakses mesej yang ditandakan sebagai dipadam.

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Selepas respons positif, pelayan menghantar respons berbilang talian. Selepas +OK awal, pelayan menghantar pengepala mesej, baris kosong dan bilangan baris yang ditentukan daripada badan mesej.

Catatan:
Jika bilangan baris permintaan pelanggan lebih besar daripada bilangan baris dalam mesej, maka pelayan menghantar keseluruhan mesej.

Jawapan yang mungkin:

OK bahagian atas mesej berikut -ERR tiada mesej sedemikian

C: TOP 1 10 S: +OK S: S: . ... C: 100 TOP 3 S: -ERR tiada mesej sedemikian

Mesej UIDL

Hujah:
Nombor mesej (pilihan). Anda tidak boleh mengakses mesej yang ditandakan sebagai dipadam.

Sekatan:
Hanya boleh dihantar dalam keadaan TRANSAKSI.

Butiran:
Jika hujah diberikan, pelayan menghantar respons positif dengan rentetan yang mengandungi maklumat tentang mesej yang ditentukan. Baris ini dipanggil "penyenaraian id unik".
Jika hujah tidak dinyatakan, maka jika respons positif, pelayan menghantar respons berbilang talian. Selepas penunjuk status (+OK), dan baris yang mengandungi maklumat tentang mesej.
Untuk memudahkan penghuraian, semua pelayan mesti menggunakan format "penyenaraian id unik" tertentu. "penyenaraian id unik" terdiri daripada nombor mesej dan pengecam unik yang dipisahkan oleh satu ruang. Pengecam unik tidak boleh diikuti oleh sebarang maklumat tambahan.
Pengecam unik ialah rentetan takrif pelayan sewenang-wenangnya yang mengandungi aksara dalam julat 0x21 hingga 0x7E yang secara unik mengenal pasti mesej dalam peti mel. ID disimpan untuk keseluruhan sesi. Pelayan tidak boleh menggunakan semula pengecam untuk peti mel tertentu selagi terdapat objek menggunakannya. Mesej yang ditandakan sebagai dipadam tidak diambil kira.

Jawapan yang mungkin:

OK penyenaraian unik-id berikut -ERR tiada mesej sedemikian

C: UIDL S: +OK S: 1 whqtswO00WBw418f9t5JxYwZ S: 2 QhdPYR:00WBw1Ph7x7 S: . ... C: UIDL 2 S: +OK 2 QhdPYR:00WBw1Ph7x7 ... C: UIDL 3 S: -ERR tiada mesej sedemikian, hanya 2 mesej dalam surat mel

Ringkasan nama APOP (rentetan kata laluan yang disulitkan)

Argumen: Rentetan yang mengenal pasti peti mel dan ringkasan MD5 (rentetan kata laluan yang disulitkan (menggunakan algoritma MD5), kedua-dua parameter diperlukan.

Bahagian ini sedang dalam pembangunan...

Ringkasan Perintah POP3

Perintah asas:

Nama PENGGUNA PASS rentetan QUIT STAT LIST mesej RETR message DELE message NOOP RSET QUIT

Perintah tambahan:

Nama APOP mencerna nombor mesej TOP mesej UIDL

Sila ambil perhatian bahawa untuk semua arahan kecuali STAT, LIST dan UIDL, respons yang diberikan oleh pelayan hanyalah +OK dan -ERR. Sebarang teks yang ditemui selepas respons ini mungkin diabaikan oleh klien.

Contoh sesi POP3

S: tunggu sambungan pada port TCP 110 C: buka sambungan S: +OK pelayan POP3 sedia<[e-mel dilindungi]> C: APOP mrose S: ​​​​+OK maildrop mrose mempunyai 2 mesej (320 oktet) C: STAT S: +OK 2 320 C: SENARAI S: +OK 2 mesej (320 oktet) S: 1 120 S: 2 200 S: . C: RETR 1 S: +OK 120 oktet S: S: dipadamkan C: BERHENTI S: +OK pelayan POP3 dewey sedang ditandatangani (maildrop kosong) C: tutup sambungan S: tunggu sambungan seterusnya

baik buruk

Pada masa ini, terdapat banyak kaedah komunikasi melalui Internet. Anda boleh menggunakan ICQ atau Skype, rangkaian sosial dan sumber lain. Kira-kira dua dekad yang lalu, satu-satunya cara untuk menghantar atau menerima mel maya adalah melalui e-mel.

Sehingga masa tertentu, pelayan memproses surat pengguna mempunyai keupayaan terhad. Menyimpan sejumlah besar maklumat adalah mahal, yang bermaksud memadamkan mesej daripada cakera sebaik sahaja ia dimuat turun ke komputer pelanggan. Kemajuan telah bergerak ke hadapan, terdapat lebih banyak peluang, pengguna boleh menyimpan surat dalam peti mel pada pelayan pusat untuk masa yang tidak terhad, dan menjalankan pelbagai operasi dengan mereka.

Protokol pemindahan data yang digunakan semasa bekerja dengan e-mel

Sebarang bentuk komunikasi mempunyai gaya tertentu - satu set perjanjian. Pada rangkaian ia adalah protokol. Apabila bekerja dengan E-mel, beberapa protokol boleh digunakan. Antaranya:

  • POP3;
  • IMAP.

Apakah perbezaannya, protokol yang mana dan dalam kes mana adalah dinasihatkan untuk menggunakannya?

Apakah itu POP3

Ingin menghantar surat atau mengakses peti mel peribadi yang terletak pada pelayan jauh, pengguna boleh menggunakan penyemak imbas yang dipasang pada komputer, yang tidak sepenuhnya mudah. Lebih kerap digunakan, yang bertukar maklumat dengan pelayan menggunakan protokol tertentu. Jika ia adalah Protokol Pejabat Pos, prosesnya adalah seperti berikut:

  1. Kompaun;
  2. Pelanggan menerima maklumat tentang status peti mel, memuat turun surat;
  3. Mengemas kini pelayan dan memadamkan mesej yang dipilih;
  4. Menutup sambungan.

Apa itu IMAP

Protokol IMAP menyediakan pengguna dengan lebih banyak pilihan. Selepas kebenaran pada sumber mel, hanya pengepala surat yang dimuat turun ke komputer. Apabila anda memilih mesej yang dikehendaki, program klien memuat turun keseluruhan surat. Pada masa yang sama, anda boleh bekerja dalam talian dan luar talian. Mesej dibaca tidak dipadamkan; anda boleh melakukan operasi yang diingini dengannya pada masa hadapan.

Kebaikan dan keburukan IMAP dan POP3

Protokol mana yang hendak dipilih? Ia semua bergantung pada spesifik pekerjaan dan keperluan.

Sebagai tambahan kepada fakta bahawa mesej disimpan pada pelayan tanpa dipadam, kelebihan IMAP termasuk:

  • Kemungkinan akses ke peti mel daripada beberapa pelanggan;
  • Menyokong akses serentak berbilang pelanggan;
  • Menyokong berbilang kotak;
  • Keupayaan untuk mencipta folder baharu yang boleh diakses oleh pengguna lain;
  • Keupayaan untuk menandakan e-mel sebagai dibaca, penting dan lain-lain;
  • Sokongan carian pelayan;
  • Kemungkinan bekerja dalam mod dalam talian.

Satu-satunya kelemahan dalam kes ini ialah pengguna menghabiskan lebih banyak masa memuat turun surat dari komputer pusat.

Hari ini kami akan memberitahu anda secara terperinci tentang protokol Internet yang paling banyak digunakan - POP3, IMAP dan SMTP. Setiap protokol ini mempunyai tujuan dan fungsi tertentu. Mari cuba fikirkan.

Protokol POP3 dan portnya

Protokol Pejabat Pos 3 (POP3) ialah protokol mel standard yang direka untuk menerima e-mel daripada pelayan jauh kepada klien e-mel.POP3 membolehkan anda menyimpan mesej e-mel ke komputer anda dan juga membacanya jika anda berada di luar talian. Adalah penting untuk ambil perhatian bahawa jika anda memilih untuk menggunakan POP3 untuk menyambung ke akaun mel anda, e-mel yang telah dimuat turun ke komputer anda akan dipadamkan daripada pelayan mel. Sebagai contoh, jika anda menggunakan berbilang komputer untuk menyambung ke satu akaun e-mel, maka POP3 mungkin bukan pilihan terbaik dalam situasi ini. Sebaliknya, memandangkan mel disimpan secara tempatan, pada PC pengguna tertentu, ini membolehkan anda mengoptimumkan ruang cakera pada bahagian pelayan mel.

Secara lalai, protokol POP3 menggunakan port berikut:

  • Port 110 ialah port POP3 lalai. Ia tidak selamat.
  • Port 995 – Port ini harus digunakan jika anda ingin membuat sambungan selamat.

Protokol dan port IMAP

Internet Message Access Protocol (IMAP) ialah protokol e-mel yang direka untuk mengakses mel daripada klien e-mel tempatan. IMAP dan POP3 ialah protokol paling popular di Internet yang digunakan untuknya menerima e-mel. Kedua-dua protokol ini disokong oleh semua klien mel moden (MUA - Ejen Pengguna Mel) dan pelayan WEB.

Walaupun POP3 membenarkan akses mel daripada hanya satu aplikasi, IMAP membenarkan akses daripada berbilang pelanggan. Atas sebab ini, IMAP paling mudah disesuaikan dalam kes di mana berbilang pengguna memerlukan akses kepada akaun e-mel yang sama.

Secara lalai, protokol IMAP menggunakan port berikut:

  • Pelabuhan 143– port lalai. Tidak selamat.
  • Pelabuhan 993– port untuk sambungan selamat.
Protokol SMTP dan portnya

Simple Mail Transfer Protocol (SMTP) ialah protokol standard untuk menghantar mesej mel melalui Internet.

Protokol ini diterangkan dalam RFC 821 dan RFC 822, pertama kali diterbitkan pada Ogos 1982. Dalam skop data RFC, format alamat mestilah dalam format nama pengguna@nama domain. Penghantaran mel adalah serupa dengan kerja perkhidmatan pos biasa: contohnya, surat ke alamat [e-mel dilindungi], akan ditafsirkan seperti berikut: ivan_ivanov ialah alamat, dan merionet.ru ialah poskod. Jika nama domain penerima berbeza dengan nama domain penghantar, maka MSA (Mail Submission Agent) akan menghantar surat tersebut melalui Mail Transfer Agent (MTA). Idea utama MTA adalah untuk mengubah hala surat ke zon domain lain, sama seperti cara mel tradisional menghantar surat ke bandar atau wilayah lain. MTA juga menerima mel daripada MTA lain.

Protokol SMTP menggunakan port berikut.

Protokol Pejabat Pos (POP) ialah protokol untuk menghantar mel kepada pengguna daripada peti mel pelayan mel POP. Banyak konsep, prinsip dan konsep POP kelihatan dan berfungsi serupa dengan SMTP. Perintah POP hampir sama dengan arahan SMTP, berbeza dalam beberapa butiran. Rajah menunjukkan model pelayan pelanggan menggunakan protokol POP. Pelayan POP terletak di antara ejen pengguna dan peti mel.

Pada masa ini, terdapat dua versi protokol POP - POP2 dan POP3, yang mempunyai lebih kurang keupayaan yang sama, tetapi tidak serasi antara satu sama lain. Hakikatnya ialah POP2 dan POP3 mempunyai nombor port protokol yang berbeza. Tiada sambungan antara mereka, sama seperti sambungan antara SMTP dan ESMTP. Protokol POP3 bukanlah lanjutan atau pengubahsuaian POP2 - ia adalah protokol yang sama sekali berbeza. POP2 ditakrifkan dalam RFC 937 (Post Office Protocol-Version 2, Butler, et al, 1985), dan POP3 ditakrifkan dalam RFC 1225 (Post Office Protocol-Versi 3, Rose, 1991). Seterusnya, kami akan mempertimbangkan secara ringkas POP secara umum dan POP3 dengan lebih terperinci. POPZ direka bentuk dengan mengambil kira spesifik penghantaran mel ke komputer peribadi dan mempunyai operasi yang sesuai untuk ini.

Tujuan protokol POPZ

Sebelum ini, mesej e-mel pada kebanyakan rangkaian dihantar terus dari satu komputer ke komputer yang lain. Dan jika pengguna sering menukar komputer kerja atau satu komputer milik beberapa pengguna, terdapat masalah tertentu. Pada masa kini, adalah amalan biasa untuk menyampaikan mesej bukan kepada komputer pengguna, tetapi ke peti mel khas pada pelayan mel organisasi, yang beroperasi sepanjang masa (dihidupkan).

Penerangan mengenai protokol POPZ

Reka bentuk protokol POP3 membolehkan pengguna menghubungi pelayan melnya dan mendapatkan semula mel yang terkumpul untuknya. Pengguna boleh mengakses pelayan POP dari mana-mana pusat akses Internet. Pada masa yang sama, dia mesti melancarkan ejen mel khas (UA), bekerja menggunakan protokol POP3, dan mengkonfigurasinya untuk berfungsi dengan pelayan melnya. Jadi, di kepala model POP adalah komputer peribadi yang berasingan yang berfungsi secara eksklusif sebagai pelanggan sistem mel (pelayan). Kami juga menekankan bahawa mesej dihantar kepada klien menggunakan protokol POP, tetapi masih dihantar menggunakan SMTP. Iaitu, pada komputer pengguna terdapat dua antara muka ejen yang berasingan kepada sistem mel - penghantaran (POP) dan penghantaran (SMTP). Pembangun protokol POP3 memanggil situasi ini sebagai "ejen berpecah" (UA berpecah). Konsep ejen berasingan dibincangkan secara ringkas dalam spesifikasi POP3.

Protokol POP3 menentukan tiga peringkat dalam proses menerima mel: kebenaran, transaksi dan kemas kini. Selepas pelayan POP3 dan klien telah mewujudkan sambungan, peringkat kebenaran bermula. Pada peringkat kebenaran, pelanggan mengenal pasti dirinya kepada pelayan. Jika kebenaran berjaya, pelayan membuka peti mel pelanggan dan peringkat transaksi bermula. Di dalamnya, pelanggan sama ada meminta maklumat daripada pelayan (contohnya, senarai mesej mel), atau memintanya untuk melakukan tindakan tertentu (contohnya, mengeluarkan mesej mel). Akhirnya, semasa fasa kemas kini, sesi komunikasi tamat. Jadual 7 menyenaraikan arahan protokol POP3 yang diperlukan untuk pelaksanaan konfigurasi minimum yang berfungsi di Internet.

Jadual 5. Perintah POP Versi 3 (Konfigurasi Minimum)

Pasukan
Penerangan

USER Mengenal pasti pengguna dengan nama yang ditentukan

LULUS
Menentukan kata laluan untuk pasangan pelanggan-pelayan
BERHENTI
Menutup sambungan TCP

STAT
Pelayan mengembalikan bilangan mesej dalam peti mel ditambah saiz peti mel

SENARAI
Pelayan mengembalikan ID mesej bersama-sama dengan saiz mesej (parameter arahan boleh menjadi ID mesej)

RETR
Mendapatkan semula mesej daripada peti mel (memerlukan hujah ID mesej)

DELE
Menandai mesej untuk dipadam (memerlukan hujah - pengecam mesej)

NOOP
Pelayan mengembalikan respons positif, tetapi tidak mengambil sebarang tindakan

TERAKHIR
Pelayan mengembalikan nombor mesej tertinggi daripada yang diakses sebelum ini

RSET
Membatalkan pemadaman mesej yang ditandakan dengan arahan DELE sebelum ini.

Protokol POP3 mentakrifkan beberapa arahan, tetapi hanya dua respons diberikan kepada mereka: +OK (positif, serupa dengan mesej pengesahan ACK) dan -ERR (negatif, serupa dengan mesej NAK "tidak diakui"). Kedua-dua respons mengesahkan bahawa pelayan telah dihubungi dan ia bertindak balas kepada arahan sama sekali. Sebagai peraturan, setiap jawapan diikuti dengan penerangan lisan yang bermakna mengenainya. RFC 1225 menyediakan contoh beberapa sesi POP3 biasa. Sekarang kita akan melihat beberapa daripada mereka, yang akan memungkinkan untuk menangkap urutan arahan dalam pertukaran antara pelayan dan pelanggan.

Selepas program telah mewujudkan sambungan TCP ke port protokol POP3 (nombor rasmi 110), adalah perlu untuk menghantar arahan USER dengan nama pengguna sebagai parameter. Jika respons pelayan ialah +OK, anda perlu menghantar arahan PASS dengan kata laluan pengguna ini:

KLIEN: PENGGUNA kcope
ERVER: +OK
KLIEN: Rahsia LULUS
SERVER: +OK maildrop kcope mempunyai 2 mesej (320 oktet)
(Terdapat 2 mesej (320 bait) dalam peti mel kcope...)

Urus niaga POPZ

Perintah STAT mengembalikan bilangan mesej dan bilangan bait dalam mesej:

KLIEN: STAT
PELAYAN: +OK 2 320

Perintah LIST (tanpa parameter) mengembalikan senarai mesej dalam peti mel dan saiznya:

KLIEN: SENARAI
SERVER: +OK 2 mesej (320 oktet)
PELAYAN: 1 120
SERVER: 2,200
SERVER: . ...

Perintah LIST dengan parameter mengembalikan maklumat tentang mesej yang ditentukan:

KLIEN: SENARAI 2
PELAYAN: +OK 2 200 ...
KLIEN: SENARAI 3
SERVER: -ERR tiada mesej sedemikian, hanya 2 mesej dalam maildrop

Perintah TOP mengembalikan pengepala, baris kosong, dan sepuluh baris pertama badan mesej:

KLIEN: 10 TERATAS
PELAYAN: +OK
PELAYAN:
(Pelayan POP menghantar pengepala mesej, baris kosong dan sepuluh baris pertama kandungan mesej)
SERVER: . ...
PELANGGAN: 100 TERATAS
SERVER: -ERR tiada mesej sedemikian
Arahan NOOP tidak mengembalikan sebarang maklumat berguna selain daripada respons positif daripada pelayan. Walau bagaimanapun, tindak balas positif bermakna pelayan disambungkan kepada klien dan sedang menunggu permintaan:

KLIEN: NOOP
PELAYAN: +OK

Contoh berikut menunjukkan cara pelayan POP3 melaksanakan tindakan. Sebagai contoh, arahan RETR mengambil semula mesej dengan nombor yang ditentukan dan meletakkannya dalam penimbal UA tempatan:

KLIEN: RETR 1
SERVER: +OK 120 oktet
PELAYAN:
(Pelayan POP3 menghantar keseluruhan mesej)
SERVER: . . . . . .

Perintah DELE menandakan mesej yang akan dipadamkan:

KLIEN: DELE 1
SERVER: +OK mesej 1 dipadamkan ...
(siaran 1 dipadamkan)
KLIEN: DELE 2
SERVER: -Mesej ERR 2 sudah dipadamkan
mesej 2 telah dipadamkan)
Perintah RSET mengalih keluar bendera padam daripada semua mesej yang ditanda sebelumnya:

KLIEN: RSET
SERVER: +OK maildrop mempunyai 2 mesej (320 oktet)
(terdapat 2 mesej (320 bait) dalam peti mel)

Seperti yang anda jangkakan, arahan QUIT menutup sambungan ke pelayan:

KLIEN: BERHENTI
SERVER: +OK dewey POP3 server sign off
KLIEN: BERHENTI
SERVER: +OK dewey POP3 server sign off (maildrop kosong)
KLIEN: BERHENTI
SERVER: +OK dewey POP3 server sign off (2 mesej lagi)

Ambil perhatian bahawa mesej yang ditandakan untuk pemadaman sebenarnya tidak dipadamkan sehingga arahan QUIT dikeluarkan dan fasa kemas kini bermula. Pada bila-bila masa semasa sesi, pelanggan mempunyai keupayaan untuk mengeluarkan arahan RSET, dan semua mesej yang ditandakan untuk pemadaman akan dipulihkan.

Stesen kerja mungkin tidak mempunyai sumber yang mencukupi untuk memastikan operasi berterusan pelayan SMTP. Ia terlalu mahal untuk komputer rumah untuk mengekalkan sambungan ke Internet sepanjang masa.

Tetapi akses kepada e-mel adalah perlu untuk kedua-dua nod kecil dan untuk komputer individu. Satu protokol telah dibangunkan untuk menyelesaikan masalah ini. POP3(Protokol Pejabat Pos - Versi 3, STD: 53. M. Rose, RFC-1939). Protokol ini menyediakan akses hos kepada pelayan mel asas.

POP3 Ia tidak bertujuan untuk menyediakan senarai luas manipulasi mel. Mesej mel diterima oleh pelayan mel dan disimpan di sana sehingga aplikasi dilancarkan pada stesen kerja klien POP3. Aplikasi ini mewujudkan sambungan ke pelayan dan mendapatkan semula mesej dari sana. Mesej mel pada pelayan dipadamkan.

Protokol IMAP4 yang lebih maju dan kompleks dibincangkan dalam RFC-2060 (port 143). Anda boleh membaca tentang pengesahan POP3 dalam RFC-1734.

Pada masa hadapan, pelanggan komputer akan dipanggil mesin menggunakan perkhidmatan POP3, dan pelayan komputer akan menjadi pihak yang menawarkan perkhidmatan POP3.

Apabila pengguna pelanggan komputer ingin menghantar mesej, dia mewujudkan sambungan SMTP dengan pelayan mel secara langsung dan menghantar semua yang dia perlukan melaluinya. Dalam kes ini, pelayan komputer POP3 tidak semestinya pelayan mel.

Pada saat awal, pelayan POP3 komputer mendengar port TCP 110. Jika klien komputer ingin menggunakan perkhidmatan pelayan POP3, ia mewujudkan sambungan TCP dengannya. Setelah sambungan diwujudkan, pelayan POP3 menghantar pemberitahuan kepada klien (contohnya, +OK pelayan POP3 sedia) dan sesi memasuki fasa kebenaran (lihat juga RFC-1734, -1957). Selepas ini, arahan dan respons boleh bertukar.

Perintah POP3 terdiri daripada kata kunci (3-4 aksara), yang boleh diikuti dengan hujah. Setiap arahan berakhir dengan sepasang aksara CRLF. Kedua-dua kata kunci dan argumen hanya boleh mengandungi aksara ASCII yang boleh dicetak. Aksara ruang digunakan sebagai pembatas. Setiap hujah boleh mengandungi sehingga 40 aksara.

Isyarat tindak balas POP3 mengandungi penunjuk status dan kata kunci, yang mungkin diikuti dengan maklumat tambahan. Tanggapan juga ditamatkan dengan urutan kod CRLF. Panjang respons tidak melebihi 512 aksara, termasuk CRLF. Terdapat dua penunjuk status: positif - "+OK" dan negatif - "- ERR" (semua aksara adalah huruf besar).

Respons kepada beberapa arahan mungkin mengandungi beberapa baris. Dalam kes ini, baris terakhir mengandungi kod keluar 046 (".") diikuti dengan CRLF.

Dalam amalan, respons berbilang talian ditamatkan dengan urutan "CRLF.CRLF" untuk mengelakkan peniruan.

Semasa proses kebenaran, pelanggan mesti memperkenalkan dirinya kepada pelayan dengan menghantar nama dan kata laluan (pilihan ialah menghantar arahan APOP). Jika kebenaran berjaya diselesaikan, sesi memasuki keadaan transaksi (TRANSAKSI). Apabila arahan QUIT diterima daripada klien, sesi masuk ke keadaan KEMASKINI, manakala semua sumber dikeluarkan dan sambungan TCP ditamatkan.

Pelayan bertindak balas kepada perintah yang tidak dikenali dan tidak sah secara sintaksis dengan menghantar penunjuk status negatif.

Pelayan POP3 boleh dilengkapi dengan pemasa pasif (10 minit), yang secara automatik mengganggu sesi. Ketibaan mana-mana arahan daripada klien menetapkan semula pemasa ini kepada sifar.

Nombor pelayan semua mesej dihantar dari peti melnya dan menentukan panjangnya. Respons positif bermula dengan +OK, diikuti dengan ruang, nombor mesej, ruang lain dan panjang mesej dalam oktet. Tanggapan berakhir dengan urutan CRLF. Mesej yang dihantar dipadamkan daripada peti mel pelayan. Semua mesej yang dihantar semasa sesi POP3 mesti mengikut garis panduan format mesej Internet.

Dalam keadaan transaksi, pelanggan boleh menghantar pelayan urutan perintah POP3, untuk setiap satu pelayan mesti menghantar respons. Berikut adalah penerangan ringkas tentang arahan yang digunakan di negeri ini. transaksi.

SENARAI[mesej]

Hujah: nombor mesej (pilihan), yang tidak boleh merujuk kepada mesej yang ditandakan sebagai dipadam. Perintah hanya boleh dikeluarkan dalam mod TRANSAKSI. Jika hujah hadir, pelayan mengeluarkan respons positif yang mengandungi rentetan maklumat mesej. Barisan sedemikian dipanggil penyenaraian imbasan mesej ( scan