IMAP এক্সটেনশন

এই ডকুমেন্টটি Gmail দ্বারা প্রদত্ত IMAP এক্সটেনশনগুলি এবং ডেভেলপাররা কীভাবে সেগুলি ব্যবহার করতে পারে তা বর্ণনা করে। এই ডকুমেন্টটি IMAP প্রোটোকলের সাথে পরিচিতি ধরে নেয়।

সংক্ষিপ্ত বিবরণ

IMAP ক্লায়েন্টদের লেখকদের IMAP এর মাধ্যমে আরও Gmail-এর মতো অভিজ্ঞতা প্রদানের জন্য Gmail IMAP এক্সটেনশনের একটি সেট প্রদান করে। ডেভেলপাররা তাদের ওয়েব বা মোবাইল অ্যাপে Gmail বৈশিষ্ট্যগুলি একীভূত করার পরিবর্তে RESTful Gmail API ব্যবহার করতে চাইতে পারেন।

স্ট্যান্ডার্ড IMAP প্রোটোকলের মাধ্যমে Gmail অ্যাক্সেস করার সময় অথবা OAuth এর মাধ্যমে সংযোগ করার সময় এক্সটেনশনগুলি ব্যবহার করা যেতে পারে।

এক্সটেনশনের উপস্থিতি পরীক্ষা করা হচ্ছে

CAPABILITY কমান্ডের প্রতিক্রিয়ায় Gmail তার এক্সটেনশন সাপোর্টের বিজ্ঞাপন দেয়। এই ডকুমেন্টে এক্সটেনশনের সাপোর্ট সমর্থিত ক্ষমতার তালিকায় X-GM-EXT-1 এর উপস্থিতি দ্বারা নির্দেশিত।

ক্লায়েন্টদের দৃঢ়ভাবে সুপারিশ করা হচ্ছে যে তারা IMAP ID কমান্ড ( RFC 2971 ) ব্যবহার করে নিজেদের ঘোষণা করুন, এবং এই এক্সটেনশনগুলিতে পরিবর্তনের প্রয়োজন হলে একটি যোগাযোগের ঠিকানা ফলব্যাক হিসাবে অন্তর্ভুক্ত করুন।

জিমেইল IMAP এন্ডপয়েন্টে CAPABILITY কমান্ডের হ্যান্ডশেক এবং ব্যবহারের একটি উদাহরণ নিচে দেওয়া হল:

* OK Gimap ready for requests from 127.0.0.1 k2if6111336rvb.0
a001 LOGIN username@gmail.com password
a001 OK username@gmail.com authenticated (Success)
a001 OK Login successful
a002 CAPABILITY
* CAPABILITY IMAP4rev1 UNSELECT LITERAL+ IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1
a002 OK Success
a003 ID ("name" "clientname" "version" "1.2.3" "vendor" "companyname" "contact" "foo@example.com")
* ID ("name" "GImap" "vendor" "Google, Inc." "support-url" "http://mail.google.com/support" "remote-host" "127.0.0.1")
a003 OK Success

LIST কমান্ডের বিশেষ-ব্যবহারের এক্সটেনশন

Gmail বিশেষ-ব্যবহারের মেইলবক্সের জন্য IMAP LIST এক্সটেনশন সমর্থন করে, যা বিশেষ ফোল্ডারগুলির জন্য নতুন বৈশিষ্ট্য প্রদান করে। এই বৈশিষ্ট্যগুলি ক্লায়েন্টকে জানাতে পারে কোন ফোল্ডারগুলি বিশেষ (যেমন \All )। বিশেষ ফোল্ডারের বর্তমান তালিকায় রয়েছে: তারকাচিহ্নিত, গুরুত্বপূর্ণ, প্রেরিত আইটেম, খসড়া, স্প্যাম, সমস্ত মেল এবং ট্র্যাশ। সমস্ত LIST প্রতিক্রিয়াগুলিতে এই বিশেষ-ব্যবহারের বৈশিষ্ট্যগুলি রয়েছে; এটি কোনও নতুন CAPABILITY বা এমন কিছু নয় যা ক্লায়েন্টদের দ্বারা ENABLEd করা প্রয়োজন।

LIST এ কল করার একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a004 LIST "" "*"
* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\Noselect \HasChildren) "/" "[Gmail]"
* LIST (\HasNoChildren \All) "/" "[Gmail]/All Mail"
* LIST (\HasNoChildren \Drafts) "/" "[Gmail]/Drafts"
* LIST (\HasNoChildren \Important) "/" "[Gmail]/Important"
* LIST (\HasNoChildren \Sent) "/" "[Gmail]/Sent Mail"
* LIST (\HasNoChildren \Junk) "/" "[Gmail]/Spam"
* LIST (\HasNoChildren \Flagged) "/" "[Gmail]/Starred"
* LIST (\HasNoChildren \Trash) "/" "[Gmail]/Trash"
a004 OK Success

এই প্রতিক্রিয়াটি Special-Use স্ট্যান্ডার্ড অনুসরণ করে Gmail এর Priority Inbox (অর্থাৎ "[Gmail]/Important" ) এর জন্য একটি অতিরিক্ত \Important অ্যাট্রিবিউট যোগ করা হয়েছে।

XLIST অবচিত হয়েছে

২০১৩ সালে IMAP স্পেশাল-ইউজ লিস্ট স্ট্যান্ডার্ডের পক্ষে জিমেইল-নির্দিষ্ট XLIST কমান্ডটি বাতিল করা হয়েছিল। ক্লায়েন্টদের যত তাড়াতাড়ি সম্ভব XLIST থেকে স্পেশাল-ইউজ ইন্ডাস্ট্রি স্ট্যান্ডার্ডে স্থানান্তরিত করার জন্য জোরালোভাবে উৎসাহিত করা হচ্ছে। মনে রাখবেন যে স্পেশাল-ইউজ স্ট্যান্ডার্ড অ্যাট্রিবিউট নামগুলি একই রকম কিন্তু লিগ্যাসি XLIST অ্যাট্রিবিউট নামের সাথে অভিন্ন নয়।

SEARCH কমান্ডের এক্সটেনশন: X-GM-RAW

সম্পূর্ণ Gmail অনুসন্ধান সিনট্যাক্সে অ্যাক্সেস প্রদানের জন্য, Gmail X-GM-RAW অনুসন্ধান বৈশিষ্ট্য প্রদান করে। SEARCH বা UID SEARCH কমান্ডগুলি কার্যকর করার সময় X-GM-RAW বৈশিষ্ট্যের সাথে পাস করা আর্গুমেন্টগুলি Gmail ওয়েব ইন্টারফেসের মতো একইভাবে ব্যাখ্যা করা হবে।

X-GM-RAW অ্যাট্রিবিউট ব্যবহার করে SEARCH এ কল করার একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a005 SEARCH X-GM-RAW "has:attachment in:unread"
* SEARCH 123 12344 5992
a005 OK SEARCH (Success)

জিমেইলের অনন্য বার্তা আইডিতে অ্যাক্সেস: X-GM-MSGID

Gmail প্রতিটি ইমেলের জন্য একটি অনন্য বার্তা আইডি প্রদান করে যাতে একাধিক ফোল্ডার জুড়ে একটি অনন্য বার্তা সনাক্ত করা যায়। এই বার্তা আইডি পুনরুদ্ধার FETCH কমান্ডের X-GM-MSGID অ্যাট্রিবিউটের মাধ্যমে সমর্থিত। বার্তা আইডিটি একটি 64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা এবং ওয়েব ইন্টারফেস এবং Gmail API- তে ব্যবহৃত ID হেক্স স্ট্রিংয়ের দশমিক সমতুল্য।

FETCH কমান্ড ব্যবহার করে একটি বার্তার X-GM-MSGID পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a006 FETCH 1 (X-GM-MSGID)
* 1 FETCH (X-GM-MSGID 1278455344230334865)
a006 OK FETCH (Success)

X-GM-MSGID অ্যাট্রিবিউটটি SEARCH অথবা UID SEARCH কমান্ডেও ব্যবহার করা যেতে পারে, যাতে Gmail এর মেসেজ আইডি দেওয়া কোনও মেসেজের সিকোয়েন্স নম্বর বা UID খুঁজে পাওয়া যায়। UID SEARCH কমান্ড ব্যবহার করে কোনও মেসেজের UID পুনরুদ্ধার করার জন্য কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a007 UID SEARCH X-GM-MSGID 1278455344230334865
* SEARCH 1
a007 OK SEARCH (Success)

জিমেইল থ্রেড আইডিতে অ্যাক্সেস: X-GM-THRID

জিমেইল ওয়েব ইন্টারফেসের মতো একই পদ্ধতিতে বার্তাগুলির গ্রুপগুলিকে সংযুক্ত করার জন্য একটি থ্রেড আইডি প্রদান করে। এই থ্রেড আইডি পুনরুদ্ধার FETCH কমান্ডের X-GM-THRID অ্যাট্রিবিউটের মাধ্যমে সমর্থিত। থ্রেড আইডিটি একটি 64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা এবং ওয়েব ইন্টারফেস এবং জিমেইল API- তে ব্যবহৃত আইডি হেক্স স্ট্রিংয়ের দশমিক সমতুল্য।

FETCH কমান্ড ব্যবহার করে দুটি থ্রেডে থাকা বেশ কয়েকটি বার্তার X-GM-THRID পুনরুদ্ধারের জন্য একটি কলের উদাহরণ ট্রান্সক্রিপ্টটি নিচে দেওয়া হল:

a008 FETCH 1:4 (X-GM-THRID)
* 1 FETCH (X-GM-THRID 1278455344230334865)
* 2 FETCH (X-GM-THRID 1266894439832287888)
* 3 FETCH (X-GM-THRID 1266894439832287888)
* 4 FETCH (X-GM-THRID 1266894439832287888)
a008 OK FETCH (Success)

X-GM-THRID অ্যাট্রিবিউটটি SEARCH অথবা UID SEARCH কমান্ডেও ব্যবহার করা যেতে পারে যাতে একটি নির্দিষ্ট থ্রেডে বার্তাগুলির ক্রম সংখ্যা বা UID গুলি খুঁজে পাওয়া যায়। UID SEARCH কমান্ড ব্যবহার করে বেশ কয়েকটি বার্তার UID গুলি পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a009 UID SEARCH X-GM-THRID 1266894439832287888
* SEARCH 2 3 4
a009 OK Search (Success)

জিমেইল লেবেলগুলিতে অ্যাক্সেস: এক্স-জিএম-লেবেল

IMAP-এর উদ্দেশ্যে Gmail লেবেলগুলিকে ফোল্ডার হিসেবে ব্যবহার করে। তাই, স্ট্যান্ডার্ড IMAP কমান্ড, CREATE , RENAME এবং DELETE ব্যবহার করে লেবেলগুলি পরিবর্তন করা যেতে পারে, যা ফোল্ডারগুলিতে কাজ করে। সিস্টেম লেবেল, যা Gmail দ্বারা তৈরি লেবেল, লেবেলের তালিকায় "[Gmail]" বা "[GoogleMail]" দ্বারা সংরক্ষিত এবং প্রিফিক্স করা থাকে। একটি মেলবক্সের জন্য লেবেলের সম্পূর্ণ তালিকা পেতে XLIST কমান্ড ব্যবহার করুন।

FETCH কমান্ডের সাহায্যে X-GM-LABELS অ্যাট্রিবিউট ব্যবহার করে একটি প্রদত্ত বার্তার লেবেলগুলি পুনরুদ্ধার করা যেতে পারে। অ্যাট্রিবিউটটি ASTRING গুলির একটি তালিকা হিসাবে ফেরত পাঠানো হয়, যা যথাযথভাবে UTF-7 এ এনকোড করা হয়। একটি ASTRING হল RFC দ্বারা সংজ্ঞায়িত একটি পরমাণু বা একটি স্ট্রিং

FETCH কমান্ড ব্যবহার করে বেশ কয়েকটি বার্তার X-GM-LABELS পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a010 FETCH 1:4 (X-GM-LABELS)
* 1 FETCH (X-GM-LABELS (\Inbox \Sent Important "Muy Importante"))
* 2 FETCH (X-GM-LABELS (foo))
* 3 FETCH (X-GM-LABELS ())
* 4 FETCH (X-GM-LABELS (\Drafts))
a010 OK FETCH (Success)

X-GM-LABELS অ্যাট্রিবিউটের সাথে STORE কমান্ড ব্যবহার করে একটি বার্তায় লেবেল যোগ করা যেতে পারে। নীচে একটি উদাহরণ ট্রান্সক্রিপ্ট দেওয়া হল যা একটি বার্তায় একটি লেবেল যোগ করার পদ্ধতি প্রদর্শন করে:

a011 STORE 1 +X-GM-LABELS (foo)
* 1 FETCH (X-GM-LABELS (\Inbox \Sent Important "Muy Importante" foo))
a011 OK STORE (Success)

X-GM-LABELS অ্যাট্রিবিউটটি SEARCH অথবা UID SEARCH কমান্ডেও ব্যবহার করা যেতে পারে যাতে একটি নির্দিষ্ট লেবেলযুক্ত ফোল্ডারে থাকা সমস্ত বার্তার ক্রম সংখ্যা বা UID খুঁজে পাওয়া যায়। SEARCH কমান্ড ব্যবহার করে বেশ কয়েকটি বার্তার ক্রম সংখ্যা পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

a012 SEARCH X-GM-LABELS foo
* SEARCH 1 2
a012 OK SEARCH (Success)

তথ্যসূত্র