IMAP এক্সটেনশন

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

ওভারভিউ

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

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

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

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

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

Gmail 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 তালিকা এক্সটেনশন সমর্থন করে, যা বিশেষ ফোল্ডারের জন্য নতুন বৈশিষ্ট্য প্রদান করে। এই বৈশিষ্ট্যগুলি ক্লায়েন্টকে জানতে দেয় কোন ফোল্ডারগুলি বিশেষ (যেমন। \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

প্রতিক্রিয়াটি Gmail-এর অগ্রাধিকার ইনবক্সের (যেমন "[Gmail]/Important" ) জন্য যোগ করা একটি অতিরিক্ত \Important বৈশিষ্ট্য সহ বিশেষ-ব্যবহার মান অনুসরণ করে।

XLIST অপ্রচলিত

IMAP স্পেশাল-ইউজ লিস্ট স্ট্যান্ডার্ডের পক্ষে 2013 সালে Gmail-নির্দিষ্ট XLIST কমান্ডটি বাতিল করা হয়েছিল। ক্লায়েন্টদের যত তাড়াতাড়ি সম্ভব XLIST থেকে বিশেষ-ব্যবহার শিল্প স্ট্যান্ডার্ডে স্থানান্তরিত করার জন্য দৃঢ়ভাবে উত্সাহিত করা হচ্ছে। উল্লেখ্য যে স্পেশাল-ইউজ স্ট্যান্ডার্ড অ্যাট্রিবিউটের নামগুলি অনুরূপ কিন্তু লিগ্যাসি XLIST অ্যাট্রিবিউট নামের সাথে অভিন্ন নয়৷

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

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

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

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

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

Gmail প্রতিটি ইমেলের জন্য একটি অনন্য বার্তা আইডি প্রদান করে যাতে একাধিক ফোল্ডার জুড়ে একটি অনন্য বার্তা সনাক্ত করা যায়। এই বার্তা আইডি পুনরুদ্ধার FETCH কমান্ডে X-GM-MSGID বৈশিষ্ট্যের মাধ্যমে সমর্থিত। বার্তা ID হল একটি 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 বৈশিষ্ট্যটি জিমেইলের মেসেজ আইডি প্রদত্ত একটি বার্তার ক্রম নম্বর বা UID খুঁজে পেতে SEARCH বা UID SEARCH কমান্ডগুলিতেও ব্যবহার করা যেতে পারে। UID SEARCH কমান্ড ব্যবহার করে একটি বার্তার UID পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

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

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

Gmail ওয়েব ইন্টারফেসের মতো একই পদ্ধতিতে বার্তাগুলির গ্রুপগুলিকে সংযুক্ত করার জন্য একটি থ্রেড আইডি প্রদান করে। এই থ্রেড আইডি পুনরুদ্ধার FETCH কমান্ডে X-GM-THRID বৈশিষ্ট্যের মাধ্যমে সমর্থিত। থ্রেড আইডি একটি 64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা এবং এটি ওয়েব ইন্টারফেস এবং Gmail 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 বৈশিষ্ট্যটি একটি প্রদত্ত থ্রেডে বার্তাগুলির ক্রম নম্বর বা UID গুলি খুঁজে পেতে SEARCH বা UID SEARCH কমান্ডগুলিতেও ব্যবহার করা যেতে পারে। UID SEARCH কমান্ড ব্যবহার করে কয়েকটি বার্তার UID পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ ট্রান্সক্রিপ্ট নিচে দেওয়া হল:

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

Gmail লেবেলগুলিতে অ্যাক্সেস: X-GM-LABELS৷

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

একটি প্রদত্ত বার্তার লেবেল FETCH কমান্ডের সাথে X-GM-LABELS বৈশিষ্ট্য ব্যবহার করে পুনরুদ্ধার করা যেতে পারে। অ্যাট্রিবিউটটি ASTRING s-এর একটি তালিকা হিসাবে প্রত্যাবর্তন করা হয়েছে, উপযুক্ত হিসাবে 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 বৈশিষ্ট্যটি একটি প্রদত্ত লেবেল সহ ফোল্ডারে থাকা সমস্ত বার্তার ক্রম নম্বর বা UID গুলি খুঁজতে SEARCH বা UID SEARCH কমান্ডগুলিতেও ব্যবহার করা যেতে পারে। নিম্নলিখিতটি SEARCH কমান্ড ব্যবহার করে বেশ কয়েকটি বার্তার ক্রম নম্বর পুনরুদ্ধার করার জন্য একটি কলের একটি উদাহরণ প্রতিলিপি:

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

তথ্যসূত্র