SMTP مخفف Simple Mail Transfer Protocol، طراحی شده است تا مسیرهای مورد نیاز برای نرم افزار را جهت ارسال پست الکترونیک (Email) بر روی بستر اینترنت یا اینترانت فراهم نماید.
این الگوریتم برای ارسال پیام از یک کامپیوتر یا یک کاربر بر پایهی آدرس پست الکترونیک این امکان را فراهم میسازد تا به راحتی بتوان همان مسیر سنتی پست را در نرم افزار شبیهسازی نمود و نیز این قابلیت را داراست که بتوان یک پیام را بین یک نفر یا چندین نفر به صورت همزمان ارسال کرد.
محتویات این پیامها میتوانند فایلهای متنی یا فایلهای صوتی و همچنین فایلهای تصویری و عکس باشند.
در واقع SMTP برای ارتباط بین سرورهای همرده خود طراحی شده است تا یکدیگر را با استفاده از این پروتکل شناسایی کنند و امکان تراکنش بین این سرورها را فراهم میسازد.
SMTP یک پروتکل application layer است. کاربری که قصد ارسال نامه الکترونیکی دارد، TCP connection مربوط به SMTP server را باز میکند و ایمیل را از طریق کانکشن ارسال میکند. بنابراین SMTP، بخشی از پروتکل TCP/IP است و با استفاده از فرایندی به نام “store and forward”، به شبکه دسترسی پیدا میکند و ایمیل را ارسال میکند.
این پروتکل با همکاری MTA یا Mail Transfer Agent ایمیل شما را به صورت درست و صحیح و به آن جایی که باید، ارسال میکند. SMTP، چگونگی ارسال ایمیل از MTA رایانه شما را به MTA های کامپیوترهای دیگر توضیح میدهد و هدایت میکند. با استفاده از فرایند “store and forward”، پیامهای شما، قدم به قدم تا مقصد را طی میکند.
در هر مرحله، Simple Mail Transfer Protocol مشغول انجام وظایف خودش میباشد. خوشبختانه تمامی این فعالیتها در پشت صحنه اتفاق میافتد و نیازی نیست که ما در جریان آنها قرار بگیریم.
میتوان گفت تقریبا تمامی فعالیتهای آنلاین از طریق پروتکلها، امکانپذیر میشوند. این پروتکلها، قوانین و دستورالعملهای ویژهی شبکه هستند که به کامپیوتر شخصی اجازه میدهند به هر شبکهای در هر جای دنیا متصل شود تا فرد بتواند خرید کند، اخبار بخواند، ایمیل ارسال کند و خیلی موارد دیگر.
پروتکلها برای فعالیتهای شبکه ضروری هسنند و همچنین برای شما نقش کمک کننده دارند زیرا نیازی به مدیریت و کنترل و حتی نصب آنها ندارید. عملکرد آنها بر مبنای نرم افزار شبکه موجود در رایانه شماست.
نحوه عملکرد SMTP
SMTP، یک مجموعه کد فراهم میکند تا ارتباط پیامهای ایمیل بین سرورهای ایمیل (شبکهی کامپیوتری که دریافت و ارسال ایمیل را مدیریت و کنترل میکند) را ساده کند.
در حقیقت با نوعی اختصارنویسی این کار انجام میشود، و به سرور این امکان را میدهد تا پیامها را به دستههای مختلف تقسیم کند و به سرور دیگر اجازه میدهد تا آن را فراخوانی کند.
زمانی که شما ایمیلی را ارسال میکنید، به رشتههایی از متن تبدیل میشوند که توسط کدهایی از جنس کلمه یا عدد، از هم جدا میشوند و هدف هر بخش نیز مشخص شده است.
در واقع SMTP این کدها را تهیه میکند و نرم افزار سرور ایمیل، طوری طراحی شده است که بتواند این کدها را بازیابی کند. همانطور که یک پیام به سمت مقصد خود در حرکت است، گاهی اوقات از کامپیوترها و MTA های شخصی نیز عبور میکند.
قبل از این که در مسیر خود به کامپیوتر بعدی برسد، به طور خلاصه ذخیره میشود. درست مانند نامهای است که دست به دست میچرخد تا مقصد خود را پیدا کند.
SMTP تنها قادر به ارسال متن و کلمات میباشد و نمیتواند در فرایند ارسال، فونت، گرافیک، ضمیمهها و غیره را کنترل کند. شاید به همین دلیل است که به آن Simple گفته میشود.
خوشبختانه افزونههایی در رابطه با حل این مشکل ایجاد شده است. MIME قادر است تمامی محتوای غیر متنی را به متن ساده، رمزگذاری کند. در این قالب تبدیل شده، SMTP در انتقال دادهها به هم میخورد.
انواع SMTP
1- Secure SMTP: جهت برقراری ارتباط با استفاده از پروتکل TLS، اطلاعات را از طریق یک تانل رمزنگاری شده انتقال میدهد. در این روش ارتباطات بین راه قابل شنود یا باز شدن نمیباشند.
2- Unsecure SMTP: در این روش ارتباطات همانند روش قبل بوده اما از یک تانل ارتباطی معمولی و بدون رمزگذاری منتقل میگردند که این فرآیند میتواند باعث درز اطلاعات شود.