ورود به سایت

ثبت نام در سایت

Registration confirmation will be e-mailed to you.

فراموشی رمز

3 × 5 =

بستن
بستن

چگونه با پروتکل SMTP کار کنیم ؟

چگونه با پروتکل SMTP کار کنیم ؟
 

Business concept isolated on white

 

چگونه با پروتکل SMTP کار کنیم ؟

پست الکترونیکی یکی از مهمترین سرویس های اینترنت است که شباهت زیادی به پست معمولی دارد. این سرویس، اتصال غیر هم زمان رابرای افراد پدید می آورد. بدین معنا که افراد هر زمان مایل باشند می توانند اقدام به ارسال و یا مطالعه ی نامه های خود نمایند، بدون این که نیاز باشد این اعمال را با زمان و برنامه ریزی دیگران منطبق کنند.

هنگامی که یک نامه ی الکترونیکی ارسال می شود، انتظار این است که سرویس دهنده ی پست الکترونیکی، آن نامه را به درستی به مقصدارسال نماید. مراحل ارسال بدون توجه به سخت افزار و نرم افزار و تنها با استفاده از پروتکل های انتقال پست الکترونیکی انجام می شود.

SMTP مهمترین پروتکل انتقال پست الکترونیکی می باشد. پروتکل SMTP مخفف SIMPLE MAIL TRANSFER PROTOCOL  بوده که از این پروتکل برای ارسال پیام‌های الکترونیکیE-mail استفاده می‌شود. تا قبل از آن از پروتکل UUCP(Unix-to-Unix Copy) برای ارسال پیام‌های الکترونیکیE-mail استفاده می‌شد.

این پروتکل دارای ویژگی های بسیار زیادی است که آن را به یکی از مهمترین پروتکلهای اینترنت تبدیل کرده است.

اما با این وجود، این پروتکل محدودیت هایی از قبیل محدودکردن بدنه ی نامه های الکترونیکی به هفت بیت کد اسکی را از زمان گذشته با خود به همراه دارد. این محدودیت تا اوایل دهه ۱۹۸۰میلادی که انتقال و ارسال نامه های الکترونیکی بسیار کم و به ندرت بود، مشکلی ایجاد نمی کرد.

اما امروزه و در عصر رسانه های چند منظوره، محدودیت هفت بیت کد اسکی دردسرساز است. زیرا نیاز دارد که داد ه های مالتی مدیای باینری، قبل از ارسال از طریق  SMTPبه کد اسکی تبدیل شوند و پس از انتقال از طریق این پروتکل از اسکی به باینری برگردانده شوند.

پروتکل smtp به دلیل محدودیت‌هایی در نگهداری نامه‌ها، معمولا با پروتکل‌های POP3 یا (post office protocol3) یا internet message access protocol) IMAP) استفاده می‌شود که برای کاربران امکان ذخیره نامه‌ها را روی یک سرور یا دانلود آنها را از سرور فراهم می‌کند.

در حقیقت می‌توان گفت، SMTP برای ارسال نامه‌ها و POP3 یا IMAP برای دریافت نامه‌ها به کار می‌روند. به عبارت ساده‌تر، سرور SMTP، مانند وب سرور یک رایانه است که مانند مسیریاب عمل می‌کند. هنگامی که پیام‌های پست الکترونیکی از کاربران را دریافت می‌کند آنها را به گیرندگان مورد نظر می‌فرستند.

SMTP فقط به نام کاربری و دامنه نیاز دارد تا مستقیم پیغام را به سمت گیرنده مسیریابی کند و به طور پیشفرض بر روی پورت ۲۵ قرار دارد. البته مدیران سرور برای افزایش امنیت می توانند پورت آن را تغییر دهند.

مطالب مرتبط


گام 1 - عمليات پروتكل SMTP

سناريوي زير عمليات پروتكل SMTP را به تصوير ميكشد

 

789

 

فرض كنيدclient A ميخواهد يك نامه الكترونيكي ساده را به client B ارسال كند:

  • clientA آدرس پست الكترونيكيclientB را در كارگزار كاربر(  user agent) خود وارد كرده و پس از نوشتن نامه ي الكترونيكي، آن را ارسال  مينمايد.
  • لازم به ذكر است كه كارگزار كاربر (user agent) برنامه اي است كه محيطي را براي نوشتن، خواندن، ارسال و دريافت نامه هاي الكترونيكي فراهم مي كند.
  • clientA (user agent)نامه را در صف نامه هاي سرويس دهنده ي پست الكترونيكي وي قرار مي دهد.
  • سرويس دهنده ي پست الكترونيكيclientA يك اتصال TCP با سرويس دهنده ي پست الكترونيكيclientB ايجاد مي كند.
  • پس از برقراري اتصال TCP نامه يclientA از طريق آن اتصال منتقل ميگردد.
  • نامه ي ارسال شده از طريق سرويس دهنده ي پست الكترونيكي clientB دريافت شده و در فهرست نامه هايclientB قرار مي گيرد.
  • clientB از طريق كارگزار كاربر خود نامه دريافتي را ميخواند.

توجه به اين نكته ضروري است كه :

پروتكلSMTP براي ارسال نامه هاي الكترونيكي از سرويس دهندگان پست الكترونيكي ميان مبداو مقصد استفاده نمي كند، حتي اگر دو سرويس دهنده ي مذكور در فاصله ي بسيار دوري از يكديگر قرار داشته باشند.

به عنوان مثال، اگر سرويس دهنده ي پست الكترونيكيclientA در ایران و سرويس دهنده ي پست الكترونيكيclientB درآلمان باشد.

اتصال TCP مستقيما بين ایران و آلمان برقرار مي گردد منظور از اين جمله به طور دقيق تر اين است كه چنانچه سرويس دهنده ي پست الكترونيكيclientB دردسترس نباشد، نامه در سرويس دهنده ي پست الكترونيكيclientAباقي مانده و اين سرويس دهنده سعي در برقراري اتصال مجدد با سرويس دهنده ي باب مي نمايد و نامه به هيچ وجه در سرويس دهندگان پست الكترونيكي مياني قرار نمي گيرد.

پياده سازي مدل SMTP

 
 
Ban_SMTP.7001
 

در اين بخش چگونگي انتقال يك پيام از سرویس دهنده ي پست الكترونيكي مبدا به سرويس دهنده ي پست الكترونيكي مقصد شرح داده می شود.

در ابتدا، سرويس گيرنده SMTP  (كه بر روي سرويس دهنده ي پست الكترونيكي مبدا قرار دارد) يك اتصالTCP بر روي پورت 25 با سرويس دهنده  SMTP (كه بر روي سرويس دهنده ي پست الكترونيكي مقصد قرار دارد) برقرار مي نمايد.

پس از برقراري اتصال، سرويس گيرنده و سرويس دهنده يك سري Handshaking هاي لايه كاربردي را انجام مي دهند.

در طي مرحله Handshaking ، سرويس گيرنده SMTP آدرس پست الكترونيكي فرستنده و گيرنده نامه را مشخص ميكند. پس از معرفي سرويس گيرنده و سرويس دهنده SMTP به يكديگر، سرويس گيرنده پيام را ارسال مي كند.

در مثال زیر  چگونگي برقراري اتصال بين سرويس گيرنده C و سرويس دهنده  S را نمايش مي دهد.

نام ميزبان سرويس گيرنده mydomain.com  و نام میزبان سرویس دهنده smtp2go.com  مي باشد.

خطوطي كه با  C: "  "   شروع شده اند به معني ارسال اطلاعات از طرف سرويس گيرنده و خطوطي كه با  "  S: "شروع شده اند به معني ارسال اطلاعات از طرف سرويس دهنده مي باشند

 

456

 

در مثال بالا سرويس گيرنده SMTP پيامي را از سرويس دهنده ي پست الكترونيكي mydomain.com به سرويس دهنده ي پست الكترونيكي smtp2go.com ارسال ميكند.

سرويس گيرنده، پنج دستور QUIT و DATA ،RCPT TO ،MAIL FROM ،HELO را ارسال مي كند. در مقابل، سرويس دهنده متناسب با هر دستور پاسخي را ارسال مي كند.

هر پاسخ شامل يك كد و يك توضيح (اختياري) به زبان انگليسي است. تذكر اين نكته در اين جا ضروري است كه اگر نياز باشد كه سرويس دهنده ي پست الكترونيكي مبدا چندين پيام را به سرو يس دهنده ي پست الكترونيكي مقصد يكساني ارسال كند، مي تواند تمام آن پيام ها را بر روي يك اتصال TCP بفرستد.

البته براي هر پيام بايد دستور HELO جديدي به سرويس دهنده ي مقصد ارسال كند و پس از پايان يافتن تمام پيا مها از دستور QUIT استفاده كند.

در بسیاری از موارد کد رشته ی پاسخ 250 بیانگر موفقیت آمیز بودن دستور است.

در صورت شکست خوردن یکی از کدهای 552 یا 451 یا 452  صادر می شود.

 و در صورت بروز خطا یکی از کدهای 500 یا 501 یا 421  صادر می شود.

همانطور که در مثال بالا مشاهده می کنید.

درفرمان اول  ": HELO  "

فرمان دوم:  " MAIL FROM:" و سپس  ایمیل فرستنده وارد شده  است.

فرمان سوم"  RCPT TO:   "و سپس ایمیل گیرنده وارد شده است.

فرمان چهارم ":DATA   " که بعد از این فرمان هیچ کلمه ای قرار نمی گیرد.

 سپس سرور پاسخی می دهد که متن ایمیل خود را وارد کرده و با یک نقطه (.) به آن پایان دهید.

 در پایان  باید فرمان Quit را صادر کرده تا Server اتصال را ببندد

 

قالب نامه هاي الكترونيكي

 

هنگامي كه clientA نامه ا ي را بهclientB ارسال ميكند مانند اين است كه اين نامه را در پاكتي كه آدرسclientB بر روي آن نوشته شده قرار داده وارسال مي كند

. مشابه آن، هر نامه ي الكترونيكي كه از فردي به فرد ديگر ارسال مي شود، داراي سرآيندي(header)است كه شامل اطلاعاتي جانبي در رابطه با نامه ي الكترونيكي است هر خط از سرآيند(header) شامل يك متن خوانا از كلمات كليدي به همراه يك مقدار خاص مي باشد.

برخي از اين كلمات كليدي لازم و برخي اختياري هستند.

هر سرآيند(header)  بايد شامل كلمات كليدي زیر باشد.

  • Subject:
  • To:
  • From:

توجه به اين نكته ضروري است كه اين خطوط سرآيند متفاوت از دستورات SMTP مي باشند.

 

456 - Copy

 

منابع و پیوند ها

 

اطلاعات مطلب

  • شبکه
  • 404 بازدید
  • blankblankblankblankblank (1 votes, average: 5٫00 out of 5)
    blankLoading...
  • آخرین ویرایش توسط : درهمی - چهارشنبه, 02 ژانویه 19, 11:26 ق.ظ
  • SCIPOST

دیدگاه کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بهترین علوم و دانش برای شما گردآوری میشه

آخرین های آیا میدانید

از همه جا براتون مطلب داریم لطفا کلیک کنید

مطالب برگزیده

موضوعات مهم سایت

مطالب محبوب