ইমেল ইন্টারনেটের অন্যতম প্রাচীন এবং মৌলিক একটি অ্যাপ্লিকেশন, এবং SMTP (সিম্পল মেইল ট্রান্সফার প্রোটোকল) হলো এর মূল চালিকাশক্তি যা ইমেল প্রেরণকে পরিচালনা করে। SMTP কীভাবে কাজ করে তা বোঝা আপনাকে কেবল ইমেল প্রেরণের সমস্যা সমাধানেই সাহায্য করবে না, বরং বাউন্স মেসেজ এবং স্প্যাম ফিল্টারিংয়ের মতো সাধারণ বিষয়গুলোও আরও ভালোভাবে বুঝতে সাহায্য করবে।
একটি ইমেল সিস্টেমের তিনটি মূল প্রোটোকল
SMTP নিয়ে বিস্তারিত আলোচনার আগে, চলুন ইমেল সিস্টেমে ব্যবহৃত তিনটি প্রোটোকল সম্পর্কে জেনে নিই, যেগুলোর প্রত্যেকটির নিজস্ব কাজ রয়েছে:
| প্রোটোকল | পুরো নাম | প্রভাব | উপমা |
|---|---|---|---|
| এসএমটিপি | সরল মেইল স্থানান্তর প্রোটোকল | ইমেইল পাঠানো এবং ফরওয়ার্ড করার দায়িত্বে আছেন | পোস্ট অফিসের ডেলিভারি ট্রাক |
| POP3 | ডাকঘর চুক্তি, সংস্করণ ৩ | সার্ভার থেকে আপনার স্থানীয় মেশিনে ইমেলগুলো ডাউনলোড করুন। | ডাকঘর থেকে চিঠিটা নিয়ে বাড়ি চলে আসুন। |
| আইএমএপি | ইন্টারনেট ইমেল অ্যাক্সেস প্রোটোকল | সার্ভারে ইমেল পরিচালনা এবং পড়া | ডাকঘরে তাৎক্ষণিকভাবে চিঠি পড়া |
সহজ কথায়: SMTP 'ইমেল পাঠানোর' কাজটি করে, আর POP3 এবং IMAP 'ইমেল গ্রহণ করার' কাজটি করে। এই নিবন্ধে SMTP কীভাবে প্রেরকের কাছ থেকে প্রাপকের কাছে ইমেল পৌঁছে দেয়, তার উপর আলোকপাত করা হয়েছে।
একটি ইমেইলের সম্পূর্ণ যাত্রা
ধরা যাক, অ্যালিস (alice@gmail.com) ববকে (bob@yahoo.com) একটি ইমেল পাঠায়, এই ইমেলটি নিম্নলিখিত ছয়টি ধাপ অতিক্রম করবে:
প্রথম পর্যায়: লেখা ও জমা দেওয়া
অ্যালিস জিমেইল ওয়েব ব্রাউজার বা ক্লায়েন্টে একটি ইমেল রচনা করে "সেন্ড" বোতামে ক্লিক করে। এরপর ইমেলটি SMTP প্রোটোকলের মাধ্যমে ব্রাউজার (বা ইমেল ক্লায়েন্ট) থেকে জিমেইলের মেল পাঠানোর সার্ভারে (সাধারণত smtp.gmail.com, পোর্ট 587) জমা হয়ে যায়।
এই ধাপে পরিচয় যাচাইকরণ প্রয়োজন—অ্যালিসকে প্রথমে তার জিমেইল অ্যাকাউন্টে লগ ইন করতে হবে, এবং সার্ভার নিশ্চিত করবে যে তিনি alice@gmail.com ঠিকানাটি ব্যবহার করে ইমেল পাঠানোর জন্য অনুমোদিত কিনা।
দ্বিতীয় পর্যায়: ডিএনএস কোয়েরি
যখন জিমেইলের প্রেরক সার্ভার একটি ইমেল গ্রহণ করে, তখন সেটি কোথায় পাঠাতে হবে তা জানার প্রয়োজন হয়। এটি প্রাপকের ডোমেইন, yahoo.com-এর MX রেকর্ড (মেইল এক্সচেঞ্জ রেকর্ড)-এর জন্য DNS (ডোমেইন নেম সিস্টেম)-কে কোয়েরি করে।
এমএক্স রেকর্ডটি ইয়াহুর মেইল সার্ভারের ঠিকানা ফেরত দেবে, উদাহরণস্বরূপ:
yahoo.com MX priority 1 mta5.am0.yahoodns.net yahoo.com MX priority 5 mta6.am0.yahoodns.net yahoo.com MX priority 5 mta7.am0.yahoodns.net
সার্ভারটি প্রথমে সর্বোচ্চ অগ্রাধিকারের (সর্বনিম্ন সংখ্যা) MX রেকর্ডটি চেষ্টা করবে। যদি সেই সার্ভারটি অনুপলব্ধ থাকে, তবে এটি পরবর্তীটি চেষ্টা করবে।
পর্যায় ৩: SMTP হ্যান্ডশেক
জিমেইলের সার্ভারগুলো ইয়াহুর মেইল সার্ভারগুলোর সাথে একটি TCP সংযোগ স্থাপন করে (সাধারণত পোর্ট ২৫ ব্যবহার করে) এবং তারপর একটি প্রমিত "সংলাপ" শুরু করে। এটাই SMTP প্রোটোকলের মূল অংশ—যা হলো কতগুলো নির্দেশ ও তার প্রতিক্রিয়ার একটি ধারাবাহিকতা:
সংযোগ স্থাপিত হয়েছে Yahoo: 220 mta5.am0.yahoodns.net ESMTP ready জিমেইল: EHLO mail.gmail.com Yahoo: 250-mta5.am0.yahoodns.net হ্যালো ইয়াহু: 250-STARTTLS ইয়াহু: ২৫০ ওকে এনক্রিপ্টেড সংযোগে আপগ্রেড করুন জিমেইল: STARTTLS ইয়াহু: ২২০ টিএলএস শুরু করতে প্রস্তুত প্রেরক এবং প্রাপককে অবহিত করুন জিমেইল: প্রেরক: <alice@gmail.com> ইয়াহু: ২৫০ ওকে জিমেইল: প্রাপক:<bob@yahoo.com> ইয়াহু: ২৫০ ওকে ইমেলের বিষয়বস্তু প্রেরণ করুন জিমেইল: ডেটা ইয়াহু: ৩৫৪ মেইল ইনপুট শুরু করুন জিমেইল: প্রেরক: অ্যালিস <alice@gmail.com> জিমেইল: প্রাপক: বব <bob@yahoo.com> জিমেইল: বিষয়: হ্যালো বব! জিমেইল: জিমেইল: হাই বব, কেমন আছো? জিমেইল: . ইয়াহু: 250 OK, বার্তাটি সারিবদ্ধ করা হয়েছে সংযোগ বিচ্ছিন্ন করুন জিমেইল: প্রস্থান করুন ইয়াহু: ২২১ বাই
সম্পূর্ণ কথোপকথন প্রক্রিয়াটি স্পষ্ট এবং সুশৃঙ্খল: প্রথমে, একটি অভিবাদন (EHLO), তারপর এনক্রিপশন (STARTTLS), তারপর খামের তথ্য (প্রেরক এবং প্রাপক), এবং অবশেষে, বার্তার বিষয়বস্তু (DATA)।
চতুর্থ পর্যায়: প্রাপক প্রক্রিয়াকরণ
ইয়াহুর মেইল সার্ভার একটি ইমেল পাওয়ার পর একাধিক যাচাই প্রক্রিয়া সম্পন্ন করে:
- প্রাপক, bob@yahoo.com, বিদ্যমান কিনা তা যাচাই করুন । যদি এটি বিদ্যমান না থাকে, তাহলে একটি বাউন্স বার্তা (হার্ড বাউন্স) ফেরত পাঠান।
- প্রমাণীকরণ: প্রেরকের পরিচয় যাচাই করার জন্য SPF, DKIM, এবং DMARC রেকর্ডগুলো পরীক্ষা করুন।
- স্প্যাম ফিল্টারিং: ইমেইলটি স্প্যাম কিনা তা নির্ধারণ করতে এর বিষয়বস্তু স্ক্যান করে।
- ভাইরাস স্ক্যান: ম্যালওয়্যারের জন্য অ্যাটাচমেন্টগুলো পরীক্ষা করুন।
সমস্ত যাচাই সম্পন্ন হওয়ার পর, ইমেলটি ববের মেইলবক্স স্টোরেজে পৌঁছে দেওয়া হয়েছিল।
পর্যায় ৫: ইমেইল সংরক্ষণ
ইমেলগুলো ইয়াহুর মেইল সার্ভারে সংরক্ষিত থাকে, ববের পড়ার অপেক্ষায়। ফিল্টারিং নিয়ম অনুযায়ী সেগুলোকে ইনবক্স, স্প্যাম ফোল্ডার বা অন্যান্য ফোল্ডারে রাখা হবে।
ষষ্ঠ পর্যায়: প্রাপকের পাঠ
বব তার ইয়াহু মেইল খোলে এবং IMAP বা POP3 ব্যবহার করে সার্ভার থেকে ইমেইলের বিষয়বস্তু সংগ্রহ করে। ওয়েব সংস্করণ ব্যবহার করলে, সে HTTP/HTTPS এর মাধ্যমে সরাসরি তার ব্রাউজারে ইমেইলটি পড়ে।
গুরুত্বপূর্ণ SMTP কমান্ডগুলোর বিস্তারিত ব্যাখ্যা
| অর্ডার | অর্থ | চিত্রিত করুন |
|---|---|---|
EHLO | অভিবাদন | অপর সার্ভারে নিজের পরিচয় দিন এবং সমর্থিত এক্সটেনশনগুলো সম্পর্কে জিজ্ঞাসা করুন। |
STARTTLS | এনক্রিপশন আপগ্রেড করুন | প্রেরণের সময় ইমেলের বিষয়বস্তু সুরক্ষিত রাখতে প্লেইনটেক্সট সংযোগগুলোকে TLS এনক্রিপ্টেড সংযোগে আপগ্রেড করুন। |
MAIL FROM | প্রেরক | ঘোষণা ইমেইলের প্রেরকের ঠিকানা (খামের উপর প্রেরকের ঠিকানা)। |
RCPT TO | প্রাপক | ঘোষণা ইমেইলের জন্য প্রাপকের ঠিকানাগুলো নির্দিষ্ট করুন (একাধিক ঠিকানা অনুমোদিত)। |
DATA | ইমেলের মূল অংশ | ইমেলের হেডার এবং বডি পাঠানো শুরু করুন এবং শেষে একটি আলাদা লাইনে একটি পূর্ণচ্ছেদ (.) দিন। |
QUIT | সংযোগ বিচ্ছিন্ন করুন | সেশন শেষ করুন, সংযোগ বন্ধ করুন |
SMTP প্রতিক্রিয়া কোডগুলির অর্থ
SMTP সার্ভার থেকে আসা প্রতিটি প্রতিক্রিয়া একটি তিন-অঙ্কের সংখ্যা দিয়ে শুরু হয়, যেখানে বিভিন্ন সংখ্যা বিভিন্ন অবস্থা নির্দেশ করে:
| প্রতিক্রিয়া কোড | অর্থ | উদাহরণ |
|---|---|---|
| 2xx | সাফল্য | 250 OK — কমান্ড সফলভাবে কার্যকর হয়েছে |
| ৩xx | আরও তথ্যের প্রয়োজন | 354 মেইল ইনপুট শুরু — ইমেইলের বিষয়বস্তুর জন্য অপেক্ষা করা হচ্ছে |
| 4xx | অস্থায়ী ত্রুটি (সফট রোলব্যাক) | 421 পরিষেবা সাময়িকভাবে অনুপলব্ধ / 450 ইমেল ব্যস্ত |
| ৫xx | স্থায়ী ত্রুটি (হার্ড রোলব্যাক) | 550 ব্যবহারকারী বিদ্যমান নেই / 553 ঠিকানার বিন্যাস ভুল |
ইমেল ডেলিভারি সংক্রান্ত সমস্যা সমাধানের ক্ষেত্রে এই রেসপন্স কোডগুলো অত্যন্ত কার্যকর। যখন আপনি একটি বাউন্স নোটিফিকেশন পান, তখন এর সাথে থাকা রেসপন্স কোডটি আপনাকে দ্রুত কারণটি চিহ্নিত করতে সাহায্য করতে পারে।
SMTP পোর্ট নম্বর
SMTP বিভিন্ন কাজ সম্পাদনের জন্য বিভিন্ন পোর্ট ব্যবহার করে:
- পোর্ট ২৫: সার্ভারগুলোর মধ্যে ইমেইল আদান-প্রদানের জন্য ব্যবহৃত আদর্শ পোর্ট। অনেক আইএসপি স্প্যাম প্রতিরোধ করার জন্য এই পোর্টটি ব্লক করে দেয়।
- পোর্ট ৫৮৭: ব্যবহারকারীর পাঠানো ইমেইলের জন্য প্রস্তাবিত পোর্ট, যা STARTTLS এনক্রিপশন এবং অথেনটিকেশন সমর্থন করে।
- পোর্ট ৪৬৫: একটি পুরোনো পোর্ট যা অন্তর্নিহিত SSL/TLS এনক্রিপশন ব্যবহার করে; কিছু পরিষেবা এখনও এটি ব্যবহার করছে।
আপনি যদি কোনো ইমেল ক্লায়েন্ট বা SMTP পরিষেবা কনফিগার করেন, তাহলে পোর্ট 587 এবং STARTTLS- এর সমন্বয় ব্যবহার করার পরামর্শ দেওয়া হয়।
এসএমটিপি-এর সীমাবদ্ধতা এবং আধুনিক উন্নয়ন
SMTP ১৯৮২ সালে (RFC 821) তৈরি করা হয়েছিল, যখন ইন্টারনেট কোনো নিরাপত্তা হুমকির সম্মুখীন ছিল না। তাই, মূল SMTP প্রোটোকলটির কিছু সহজাত সীমাবদ্ধতা ছিল:
- এনক্রিপ্টবিহীন: মূল SMTP ডেটা প্লেইনটেক্সটে প্রেরণ করত, যা পরবর্তীতে STARTTLS এক্সটেনশনের মাধ্যমে রিজলভ করা হতো।
- প্রমাণীকরণের অভাব: যে কেউ যেকোনো প্রেরক হওয়ার দাবি করতে পারে এবং তারপর SPF, DKIM বা DMARC দিয়ে তা গোপন করতে পারে।
- ডেলিভারি নিশ্চিতকরণ নেই: প্রেরক নিশ্চিতভাবে জানতে পারেন না যে ইমেলটি প্রাপকের ইনবক্সে পৌঁছেছে কি না।
এই সীমাবদ্ধতাগুলো থাকা সত্ত্বেও, SMTP বিশ্বব্যাপী ইমেল সিস্টেমের মূল প্রোটোকল হিসেবে রয়ে গেছে। ক্রমাগত নিরাপত্তা এক্সটেনশন যুক্ত করার মাধ্যমে, এটি পূর্ববর্তী সংস্করণের সাথে সামঞ্জস্যতা বজায় রাখে এবং একই সাথে আধুনিক ইন্টারনেটের নিরাপত্তা চাহিদার সাথেও খাপ খাইয়ে নেয়।
সারসংক্ষেপ করুন
একটি ইমেইলের যাত্রা আপনার কল্পনার চেয়ে অনেক বেশি জটিল: ব্যবহারকারীর 'সেন্ড' বোতামে ক্লিক করা থেকে শুরু করে ডিএনএস লুকআপ, এসএমটিপি হ্যান্ডশেক, অথেন্টিকেশন, স্প্যাম ফিল্টারিং এবং সবশেষে প্রাপকের ইনবক্সে পৌঁছানো পর্যন্ত—প্রতিটি ধাপই কঠোর প্রোটোকল ও নিয়ম দ্বারা পরিচালিত হয়। এই অন্তর্নিহিত প্রক্রিয়াগুলো বুঝতে পারলে তা আপনাকে আপনার ইমেইল অ্যাকাউন্ট আরও ভালোভাবে পরিচালনা করতে, ইমেইল পাঠানোর সমস্যা সমাধান করতে এবং ইমেইল ডেলিভারির হার অপ্টিমাইজ করতে সাহায্য করতে পারে।