قرارداد ساده نامه‌رسانی

شیوه‌نامه/قرارداد سادهٔ نامه‌رسانی  به‌طور اختصار SMTP، شیوه‌نامه‌ای ساده و در عین حال مهم و اساسی برای انتقال رایانامه است. این اصطلاح از آن رو به کار می‌رود که نسبت به سایر شیوه‌نامه‌های رایانامهٔ قبلی بسیار ساده عمل می‌کند. SMTP فقط به نام کاربری و دامنه نیاز دارد تا مستقیم پیغام را به سمت گیرنده مسیریابی کند. SMTP یک شیوه‌نامهٔ ارسال است و برای دریافت مناسب نیست، به همین دلیل برای دریافت رایانامه به جای SMTP از شیوه‌نامه‌های دریافت رایانامه مثل شیوه‌نامهٔ دستیابی به پیغام در اینترنت و پاپ۳ استفاده می‌شود.

مدل پردازش رایانامه 
رایانامه توسط کارخواه نامه (MUA) به کارساز نامه(MSA) توسط SMTP روی پورت 587، TCP فرستاده می شود. بیشتر سرویس دهنده‌های رایانامه همچنان روی پورت 25 نامه ها را می پذیرند. MSA نامه را به مامور انتقال نامه (MTA) تحویل می دهد. معمولا این دو نمونه هایی از یک نرم‌افزار هستند که با آپشن های متفاوت روی یک ماشین اجرا می شوند. پردازش محلی می تواند روی یک ماشین اجرا شود یا بین چندین ماشین تقسیم شود. پردازش های مامور نامه روی یک ماشین می تواند فایل ها را به اشتراک بگذارد ولی اگر پردازش روی چندین ماشین باشد آن ها پیام هایی را توسط SMTP به یکدیگر انتقال می دهند که هر ماشین به گونه ای تنظیم شده که از ماشین بعدی به عنوان کارساز رایانامه استفاده کند.

MTA از DNS استفاده می کند تا رکورد MX (بخشی از رایانامه که بعد @ میاید) را پیدا کند. رکورد MX شامل نام MTA مقصد می باشد. بر اساس میزبان مقصد و فاکتور های دیگر، MTA یک کارساز دریافت کننده را انتخاب و برای کامل کردن تبادل نامه به آن متصل می شود.

انتقال نامه می تواند در یک ارتباط یگانه بین دو MTA انجام شود یا به صورت دنباله ای از مراحل توسط سیستم های میانی. کارساز SMTP دریافت کننده ممکن است مقصد نهایی باشد یا به صورت یک رله میانی عمل کند (که نامه را ذخیره و آن را فروارد می کند) و یا به صورت دروازه(gateway)  ،که نامه را توسط شیوه‌نامه‌ای غیر از SMTP فروارد می کند، باشد. در هر مرحله کارساز یا باید نامه را تحویل دهد یا خطایی گزارش کند.

در آخرین مرحله که نامه دریافت می شود به منظور تحویل محلی به مامور تحویل نامه(MDA)  داده می شود. سپس MDA نامه در فرمت مناسب برای نامه دان(mailbox) ذخیره می کند. دریافت نامه می تواند توسط یک یا چند کامپیوتر انجام شود که در شکل MDA به صورت یک جعبه نمایش داده شده است. MDA می تواند نامه را مستقیم ذخیره کند یا توسط شیوه‌نامه‌های SMTP و LMTP آن را در شبکه فروارد کند.

وقتی نامه به کارساز محلی نامه رسید، به منظور دریافت توسط کارخواه‌های نامه(MUAs) ذخیره می شود. نامه توسط اپلیکیشن هایend-user(کارخواه‌های رایانامه) تحت شیوه‌نامه‌های IMAP و POP دریافت میشود.
SMTP انتقال نامه را تعریف می کند و نه محتوای نامه. بنابراین پارامتر هایی مانند ارسال کننده نامه در SMTP مشخص می شوند اما بدنه و عنوان مشخص نمی شوند.

بررسی شیوه‌نامه 
SMTP یک ارتباط اتصال گرا و مبتنی بر متن است که در آن فرستنده نامه با دریافت کننده نامه تحت سازوکاری ، معمولا TCP ، ارتباط برقرار می کند. یک نشست SMTP از دستورهای تشکیل می شود که توسط کارخواه آغاز و توسط کارساز پاسخ داده می شود و در آن پارامتر های نشست مبادله می شوند. هر نشست ممکن است شامل صفر و یا تعداد بیشتری تراکنش باشد. هر تراکنش از سه مجموعه فرمان/پاسخ تشکیل شده است:

1.	فرمان MAIL، برای تنظیم آدرس بازگشت

2.	فرمان RCPT، برای تنظیم دریافت کننده پیام.

3.	فرمان DATA، برای فرستادن سیگنال آغاز محتوای پیام. محتوای پیام شامل عنوان و بدنه می باشد که با یک خط خالی جدا شده اند. DATA در واقع گروهی از فرمان ها است که کارساز به آن دو بار پاسخ می دهد: یک بار به خود فرمان DATA برای تایید آمادگی برای دریافت و بار دوم در انتهای دنباله داده به منظور رد/قبول کل پیام.

علاوه بر پاسخ میانی به فرمان DATA، پاسخ هر کارساز می تواند مثبت یا منفی باشد. پاسخ های منفی می توانند گذرا یا دائم باشند. reject یک پاسخ منفی دائم است وdrop یک پاسخ مثبت است.

کارخواه SMTP می تواند کارخواه رایانامهٔ کاربر انتهایی(end-user) یا مامور انتقال نامه(MTA) در کارساز relay باشد. 
کارساز های SMTP  پیام هایی با پاسخ منفی گذرا را در صف هایی برای تلاش مجدد نگهداری می کنند.

SMTP شیوه‌نامه‌ای برای تحویل نامه است.  در استفاده معمول، نامه از کارسازی به کارساز دیگر تا رسیدن به کارساز مقصد منتقل  می شود و مسیریابی با استفاده از کارساز مقصد شکل میگیرد. شیوه‌نامه‌های دیگر مانند POP و IMAP به‌طور ویژه برای مدیریت صندوق های نامه شخصی طراحی شده اند.

کارساز SMTP مبدأ 

هنگامی که کارخواه رایانامه یک پیام را ارسال می کند، آن را به کارساز SMTP پیکربندی شده منتقل می کند و با استفاده از شیوه‌نامهٔ SMTP با مقصد ارتباط برقرار می کند. بدین ترتیب که کارساز SMTP مبدأ رایانامه را به کارساز SMTP مقصد انتقال می دهد. این کارخواه باید آدرس IP کارساز SMTP مبدأ را در تنظیماتش بداند. سپس کارساز مبدأ از طرف کاربر این رایانامه را ارسال می کند.

ادمین کارساز باید کارخواه‌های کارساز را کنترل کند. این کنترل به جلوگیری از spam کمک می کند. دو راهکار وجود دارد:

•	روش قدیمی تر از محدودیت گذاشتن روی مکان کارخواه استفاده می کرد و تنها کارخواه‌هایی که آدرس IP آن ها در کنترل ادمین بود مجاز به استفاده بودند.

•	کارساز های SMTP جدید از روش احراز هویت استفاده می کنند و قبل از دسترسی اعتبار کاربر باید تایید شود.
اعمال محدودیت دسترسی مرتبط با مکان:

در این سیستم کارساز SMTP متعلق به ISP اجازه دسترسی به کاربران خارج از شبکه ISP را فراهم نمی کند. به‌طور دقیق تر تنها کاربران با آدرس IP متعلق به ISP می توانند از خدمات آن استفاده کنند. در حقیقت کاربران باید اینترنت را از ISP مربوط گرفته باشند. کاربران موبایلی که خارج از شبکه ISP هستند با شکستن خوردن عملیات ارسال رایانامه مواجه می شوند.

این سیستم انواع مختلفی دارد. برای مثال ممکن است کارساز SMTP شرکتی تنها به کاربران که روی همان شبکه هستند کارسازیس بدهد و دسترسی بقیه کاربران را با firewall بلاک کند. یا ممکن است کارساز محدوده آدرس های IP کارخواه‌ها را چک کند.

این روش ها معمولا توسط دانشگاه ها و مراکز مشابه برای ارتباط درون سازمانی استفاده می شد. اما امروزه بیشتر از روش احراز هویت استفاده می شود.

احراز هویت کارخواه:

این روش برای کاربران موبایل بسیار مناسب است و به آن ها این امکان را می دهد تنظیمات واحدی را برای ارتباط با کارساز استفاده کنند.

Open relay:

میل کارسازی است که به شخص ثالث بدون احراز هویت اجازهٔ ارسال رایانامه می‌دهد، بدین معنا که برای یک کاربر که از لوکال دامین کارساز نیست امکان ارسال و یا دریافت رایانامه را فراهم می نماید. یک کارساز Open relay اجازه می دهد که کاربران تلفن همراه ابتدا از طریق یک ISP محلی برای اتصال به شبکه های شرکتی استفاده کنند، سپس پیام را به ISP اصلی خود و در نهایت به مقصد نهایی منتقل می کند. با این حال خطر اصلی و نکته منفی Open relay ، گسترش استفاده از آن توسط اسپمر ها است که به دنبال مبهم سازی یا حتی پنهان کردن منبع حجم زیاد رایانامه‌های اسپمی هستند که ارسال می کنند.

پورت ها:

ارتباط بین کارساز های نامه به‌طور کلی از پورت 25 شیوه‌نامهٔ TCP ،که به SMTP اختصاص داده شده است، استفاده می کند. کارخواه‌ها معمولا به جای پورت 25 از پورت های 587 و 465 استفاده می کنند. پورت 2525  توسط افرادی استفاده می شود ولی هیچگاه به صورت رسمی پشتیبانی نشده است.

مثالی از SMTP 

در زیر یک مثال از ارسال نامه از طریق SMTP بین دو صندوق نامه ،که در یک دامنه(example.com) هستند، آمده است. در این مثال S و C به ترتیب کارساز و کارخواه هستند و جزو پیام نیستند. پس از آنکه کارخواه (ارسال کننده نامه) یک اتصال مطمئن با کارساز(دریافت کننده نامه) برقرار کرد، یک نشست با پیامی از سمت کارساز آغاز می شود. این پیام معمولا شامل نام دامنه (در اینجا smtp.example.com) می باشد.کارخواه مکالمه خود را با فرمان HELO آغاز می کند.

کارخواه، آدرس رایانامهٔ فرستنده نامه را با  فرمان MAIL FROM به دریافت کننده اطلاع می دهد. در این مثال نامه دو دریافت کننده دارد که در یک کارساز SMTP هستند. برای این که  این دو دربخش TO و CC لیست شوند فرمان RCPT TO استفاده شده است. هر دریافت موفق توسط کارساز با کد و پیامی مشخص تایید می شود. (مثال: 250 OK)

انتقال بدنه نامه با فرمان DATA آغاز می شود و سپس خط به خط فرستاده می شود تا اینکه نامه تمام شود. نشانه اتمام نامه یک خط جدید به دنبال یک نقطه و یک خط جدید دیگر است.(<CR><LF>.<CR><LF>)

ممکن است متن نامه حاوی خطی باشد که با نقطه آغاز می شود. در اینصورت کارخواه دو تا نقطه می فرستد و کارساز آن را با یک خط جدید و یک نقطه جایگزین می کند. به این روش dot-stuffing می گویند.

پاسخ مثبت کارساز به پایان نامه به معنی این است که کارساز مسئولیت تحویل نامه را پذیرفته است. ممکن است به دلایلی مانند قطعی برق ارتباط قطع شود و دو نسخه از نامه نگهداری شود. تا زمانی که فرستنده کد تایید 250 را دریافت نکرده فرض می کند نامه تحویل داده نشده است. از طرفی، دریافت کننده نامه را پذیرفته است و فرض می کند نامه به آن تحویل داده شده است. احتمال اینکه در این زمان خطایی رخ دهد با میزان فیلتری که کارساز با هدف anti-spamming انجام می دهد متناسب است. زمان timeout ده دقیقه در نظر گرفته می شود.

فرمان QUIT نشست را به اتمام می رساند. اگر رایانامه چندین دریافت کننده داشته باشد کارخواه فرمان QUIT را اجرا می کند و برای ارسال به مقصدی دیگر، به کارسازی دیگر متصل می شود. بعضی کارخواه‌ها به صورت خودکار پس از دریافت پیام 
250 OK: queued as 12345 به اتصال خاتمه می دهند. بنابراین دو خط آخر در مثال فوق ممکن است رخ ندهند. این موضوع کارساز را هنگام تلاش برای پاسخ با  کد 221،  با مشکل مواجه می کند.

پانویس 

پروتکل‌های اینترنت
پروتکل‌های پست الکترونیک اینترنت
پروتکل‌های لایه کاربرد
پست الکترونیک