এসএমটিপি ইনসাইড আউট

কিভাবে ইন্টারনেট ইমেল কাজ করে

আপনি কি কখনও আশ্চর্য হয়েছেন যে আপনি আপনার ইমেল প্রোগ্রামে পাঠান বোতাম টিপে কী করবেন? সম্ভবত না, আমি অনুমান - যতদিন এটি কাজ করে এই ঠিক কারণ আপনি আশ্চর্য হওয়া উচিত যদিও, যদিও। কিছু কাজ করে না যদি কাজ না হয় তা জানতে ভাল লাগে। সাধারণত, এটি অর্ধেক সমাধান।

আপনি যখন ইমেল পাঠান SMTP খেলা আসে। এসএমটিপি RFC 5321: সিম্পল মেইল ​​ট্রান্সফার প্রোটোকল অনুযায়ী সুস্পষ্ট মেইল ​​ট্রান্সফার প্রোটোকলের জন্য সংক্ষিপ্ত। আপনার মেইল ক্লায়েন্ট এসএমটিপি সার্ভারের সাথে এক জায়গায় থেকে অন্যের ইমেইল পেতে এই পরিষ্কার এবং সহজ পদ্ধতি ব্যবহার করে।

নোংরা

আপনার ইমেল প্রোগ্রামটি একটি SMTP ক্লায়েন্ট হয়ে যায়, আপনার মেইল সার্ভারের পোর্ট 25 (সাধারণত SMTP পোর্ট ) এবং - EHLO বলে। কম্পিউটার, শেষ পর্যন্ত, শুধুমাত্র মানব এবং কি পরিমাণে এটি নম্র হতে চায় প্রকৃতপক্ষে, এটি নম্র হতে চেষ্টা করে না কিন্তু পরবর্তীতে এসএমটিপি যোগ করার পরে যেটি HELO কমান্ডের দুটি স্বাদ (এসএমটিপি কমান্ড সাধারণত চারটি অক্ষর থাকে) এর মধ্যে আনা হয়।

হেল্লো এর দুটি স্বাদ

EHLO, আরো সাম্প্রতিক এক হচ্ছে সার্ভারটি সমস্ত অতিরিক্ত বৈশিষ্ট্য (যেমন ডেলিভারি স্ট্যাটাসের বিজ্ঞপ্তি বা নিরাপদ ASCII অক্ষর ব্যতীত অন্যগুলি ধারণ করার বার্তাগুলি পরিবহন করার ক্ষমতা) এটি সমর্থন করে।

প্রতিটি সার্ভার এই অভিবাদন অনুমোদন করবে না, কিন্তু এটি একটি সাধারণ HELO স্বীকার করতে হবে যা স্বাভাবিকভাবেই অনুমান করা হয় যে কোন অতিরিক্ত বৈশিষ্ট্য উপস্থিত নেই। উভয় হ্যালো কমান্ড ক্লায়েন্টকে ** LO এর পরে তার ডোমেইন নির্দিষ্ট করার প্রয়োজন হয়, তবে বাস্তবিকই, এই মত কিছু দেখায়:

220 mail.domain.net ESMTP সার্ভার
কপ্টার
501 হেলো ডোমেন ঠিকানা প্রয়োজন
হেলো স্থানীয় হোস্ট
250 mail.domain.net হ্যালো হ্যালোহোস্ট [127.0.0.1], আপনার সাথে দেখা করার জন্য খুশি

(আমার ইনপুট তাত্ক্ষণিকভাবে হয় , সার্ভার আউটপুটটি কালো; একটি 5 দিয়ে শুরু লাইন একটি ত্রুটি নির্দেশ করে।)

প্রেরক

প্রোটোকল বাকি সত্যিই অ্যাট্রিবিউট সহজ দাবী করে। আপনি যদি একটি ইমেল পাঠাতে চান, আপনি কীওয়ার্ডগুলি দিয়ে শুরু করুন। এই অনুসরণকারী প্রেরক এর ইমেইল ঠিকানা আসে, হিসাবে দ্বারা দ্বারা প্রস্তাবিত। ঠিকানার চারপাশের বন্ধনীগুলি ভুলে যাওয়া ভুলবেন না (যদিও )। আমাদের উদাহরণ অবিরত, আমাদের আছে:

মেল থেকে:
250 প্রেরক @example.com ... প্রেরক ঠিক আছে

গ্রহীতা

সার্ভার প্রেরক এর ঠিকানা গ্রহণ করা হয়েছে পরে, ক্লায়েন্ট প্রাপক ঠিকানা দিতে পারেন। এই কর্মের জন্য কমান্ড, RCPT TO: আবার বরং তাত্পর্যপূর্ণ। আমি নিজের কাছে মেল পাঠাতে চাই :

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... প্রাপক ঠিক আছে (সারি হবে)

যে সার্ভারটি কেবলমাত্র যেটি সারিবদ্ধ হবে: এটি স্থানীয়ভাবে মেল সংরক্ষণ করবে এবং অন্ততপক্ষে অন্যান্য সারিযুক্ত মেলের সাথে (যেমন, প্রতি 30 মিনিট) এটি পাঠাতে হবে। এই আচরণ কনফিগারেশন উপর নির্ভর করে এবং সার্ভার এছাড়াও ঝটপটভাবে মেল প্রদান করতে পারে।

আমরা প্রায় সম্পন্ন করেছি এখনও কি অনুপস্থিত, যদিও, গুরুত্বপূর্ণ অংশ: প্রকৃত বার্তা।

বার্তা

এখন যে "খাম" শেষ হয়ে গেছে, ই-মেইল বার্তাটি ঠিক যেমনটি অনুসরণ করা যায় ঠিক তেমনি। এই "তথ্য" ইমেইল এর শরীরের পাশাপাশি হেডার ক্ষেত্রগুলির মধ্যে রয়েছে

সার্ভারটি মেসেজটি গ্রহণ করে রাষ্ট্রটি চালু করার কমান্ডটি DATA । এই নিম্নলিখিত ইমেইল বার্তা এবং তারপর শরীরের সব হেডার ক্ষেত্র, উভয় টেক্সট (বা তথ্য) শুধুমাত্র একটি বড় ব্লক জন্য আপ তৈরীর সার্ভারকে বলার জন্য যে ইনপুটটি একটি লাইনের উপর ভিত্তি করে একটি বিন্দুটি সমাপ্ত করা হয়েছে (\ r \ n। \ R \ n)। তাই আমি আমার বার্তা পাঠাতে:

ডেটা
354 মেল লিখুন, "।" নিজেই একটি লাইন উপর
বার্তা-আইডি:
তারিখ: সূর্য, 17 আগস্ট 1997 18:48:15 +0200
থেকে: হেইঞ্জ Tschabitscher
হেইঞ্জ Tschabitscher
বিষয়: Summarize-Proust প্রতিযোগিতার জন্য

সোয়ান এর বিশ্ব বন্ধ!

250 SAA19153 বার্তা বিতরণ জন্য গৃহীত

হ্যাঁ, এর মানে হল যে আপনি একটি থেকে সম্পূর্ণরূপে একটি নাম দিতে পারেন যা ইমেল থেকে যায়: ক্ষেত্র। উদাহরণস্বরূপ, আপনি " প্রাপক তালিকা দমন" ব্যবহার করতে পারেন।

শেষ

আপনি এখন থেকে অনেক ইমেল প্রেরণ করতে পারেন যেমন আপনি MAIL FROM: থেকে । আপনি যদি এর সাথে সম্পৃক্ত হন, তাহলে আপনি QUIT কমান্ডের সাথে সার্ভার থেকে বেরিয়ে যেতে পারেন এবং আমরা যা করি:

QUIT
221 বিদায়

কিভাবে আমি এটি করতে পারব?

অ-তুচ্ছ সমাধান আপনার বহির্গামী মেইল ​​সার্ভারে telnet হয় (আপনি আপনার ইমেইল ক্লায়েন্টের অ্যাকাউন্ট সেটিংসে তার ঠিকানাটি খুঁজে পেতে পারেন) পোর্ট 25 এ।

এই জাভা অ্যাপলেটটি ব্যবহার করা সহজ উপায়, যা SMTP প্রোটোকল অনুকরণ করার চেষ্টা করে এবং ডায়ালগ মাধ্যমে আপনাকে নির্দেশ করে।