smtp چیست و چطور عمل میکند؟
این روزها کمتر کسی برای انتقال پیام از ایمیل استفاده میکند. اما در گذشتههای نه چندان دور ارسال پست الکترونیکی یکی از مهمترین راههای انتقال پیام بین افراد بود. این ابزار امروز هم یکی از پایههای تبلیغات الکترونیکی در فضای دیجیتال محسوب میشود. اما ربط این داستان به smtp چیست؟
پروتکل smtp وظیفه مسیریابی بین ایمیل سرور و مقصد را برعهده دارد. اگر دوست دارید درباره نحوه ارسال ایمیل از زمان فشردن دکمه ارسال تا رسیدن به مقصد و پروتکل مختص این فرایند بیشتر بدانید، تا انتهای مقاله همراه ما باشید.
SMTP چیست؟
SMTP مخفف عبارت «Simple Mail Transfer Protocol» به معنی « پروتکل انتقال نامه ساده» و یکی از پروتکلهای لایه کاربرد پشته پروتکلی TCP/IP است. از مکانیزم SMTP برای تبادل پیام بین سرورهای ایمیل استفاده میشود.
SMTP مانند یک پستچی مجازی است که ماشینها را به هم متصل میکند تا ایمیلهای شما را به کامپیوتر مقصد برساند. در حین فرایند ارسال ایمیل، کار مرتبسازی و تحویل آنها در سرورهای مختلف توسط پروتکلهای POP (پروتکل اداره پست) و IMAP (پروتکل دسترسی به پیامهای اینترنتی) انجام میگیرد.
بهتر است ابتدا به تعریف سرور ایمیل و کلاینت ایمیل بپردازیم:
ایمیل سرور یک کامپیوتر معمولی است که یک سیستمعامل خاص بر روی آن نصب بوده و مسیریابی، ارسال و دریافت ایمیلها را انجام میدهند. سرورها این عملیات را بدون کنترل دستی و به صورت خودکار انجام میدهند.
کلاینت ایمیل هر کامپیوتری است که به سرور متصل شده و تقاضای ارسال یا دریافت ایمیل از سرور را دارد.
وقتی دکمه ارسال ایمیل را میزنید، SMTP پس از مسیریابی و یافتن کامپیوتر گیرنده، ایمیل را به سرور گیرنده انتقال داده و تحویل POP یا IMAP میدهد. POP و IMAP سروری را مرتب میکنند و ایمیل را مستقیما به صندوق کامپیوتر مقصد میفرستند.
سرور SMTP چیست؟
حالا که با پروتکل انتقال نامه ساده (SMTP) آشنا شدیم، بد نیست سرورهای SMTP را نیز مورد بحث قرار دهیم. سرور نرم افزاری است که به سایر برنامههای کامپیوتری داخل شبکه خدماتی ارائه میدهد. طبق این تعریف میتوان گفت سرور SMTP با ارسال و دریافت پیغامهای ایمیلی، آنها را از سروری به سرور دیگر انتقال میدهد. به تعبیر دیگر سرورهای SMTP به عنوان ابزارهای تحویلی عمل میکنند که ایمیلها را پردازش و از مقصدی به مقصد دیگر ارسال میکنند. سرورهای SMTP میتوانند ایمیلهای تک، تراکنشی و انبوه را در عرض چند دقیقه به صورت کاملا امن ارسال کنند.
دلیل انتخاب SMTP چیست؟
شاید فکر کنید وقتی میتوانید به سادگی با جیمیل، ایمیل یاهو، هاتمیل و AOL خود ایمیل بفرستید، چرا باید SMTP را انتخاب کنید؟ حقیقت این است که شاید استفاده از این راههای سنتی برای ارسال یک ایمیل عالی به نظر برسد؛ اما هنگامی که میخواهید ایمیلهای انبوه ارسال و دریافت کنید با این روشهای سنتی به مشکل برمیخورید.
معمولا پلتفرمهای ارسال ایمیل انبوه روی سرورهای SMTP اجرا میشود. پس مشخص شد که چرا باید از این پروتکل استفاده کنیم. حال بیایید نحوه عملکرد سرور SMTP را با جزئیات دقیق بررسی کنیم.
نحوه عملکرد ارسال ایمیل با SMTP چیست؟
هنگامی که دکمه ارسال را در پلتفرم ارسال ایمیل انبوه فشار میدهید SMTP فعال شده و ایمیل را به سرور SMPT مبدا میفرستد. سرور SMTP کامپیوتر مقصد و دامنه آن را تعیین میکند. چنانچه دامنه گیرنده همان دامنه شما باشد در این صورت نیازی به ارسال ایمیل به یک سرور دیگر نیست و نامه شما فورا به کامپیوتر مقصد میرسد.
اگر گیرنده از دامنه دیگری استفاده میکند ابتدا توسط SMTP به سرور گیرنده ارسال میشود و سپس به کمک IMAP یا POP در سرور گیرنده ذخیره، مرتب و به کامپیوتر مقصد فرستاده میشود. SMTP در واقع نقش پستچی فرستنده را ایفا میکند و وظیفه تحویل نامهها به کامپیوتر مقصد برعهده IMAP و POP است. البته این مسئله مربوط به زمانی است که دامنه و در نتیجه سرور فرستنده و گیرنده با هم متفاوت باشد.
کل این فرایند در یک توالی سریع اتفاق میافتد، بنابراین شما نمیتوانید پیچیدگیها و اتفاقاتی که با فشار دادن دکمه ارسال روی رایانه تان رخ میدهد را مشاهده کنید. درست مانند جستجوی یک موضوع انتخابی در گوگل، آنقدر سریع اتفاق میافتد که برای شما زحمتی به همراه ندارد.
وظیفه SMTP چیست؟
SMTP برای هدایت ایمیلها از کامپیوتر مبدا به سرور فرستنده و از آنجا به سرور گیرنده، آنها را به بلوکهای ساده متنی تقسیم میکند که سرورها به راحتی میتوانند آن را درک کنند. سپس پیام به رشتهای از کاراکترها تبدیل می شود که با کلمات رمزی از هم جدا میشوند.
نرمافزار ایمیل تعیین میکند که این کلمات رمزی چه معنایی دارند و خودش میفهمد که متن محصور شده توسط این کدها قرار است چه کاری انجام دهد. SMTP میتواند فقط متن را منتقل کند، نه گرافیک یا هر کاراکتر غیر متنی دیگری. رمزگذاری و تبدیل کاراکترهای غیر متنی به کاراکترهای متنی توسط افزونههای ایمیل چند منظوره اینترنتی یا MIME انجام میشود.
انواع سرورهای SMTP
انواع سرورهای SMTP را میتوان به دو سرور معمولی و پروکسی تقسیم کرد:
سرورهای معمولی SMTP
سرور SMTP معمولی ایمیلها و خطوط ارتباطی را تایید میکند. در این راستا باید دامنههای مجاور که تحت مراقبت سرور قرار میگیرند را تعیین کنید. اگر ایمیلی از یک دامنه دیگر وارد شود و ارسال پیام مجاز باشد، این پیام به سرور مقصد منتقل خواهد شد. از سرورهای SMTP میتوان برای برای ارائه خدمات دو طرفه (ورودی یا خروجی) استفاده کرد.
پروکسی سرورهای SMTP
پروکسی سرورها مثل سرورهای معمولی SMTP کاملا کاربردی نیستند؛ اما برای اتصال به یک سرور SMTP واقعی نیاز دارند. کاربران از طریق یک سرور پروکسی به سرورهای SMTP واقعی متصل میشوند تا ضمن مسدودسازی ایمیلهای غیرضروری، پیامها را نظارت کرده و حتی محتوای آنها را تغییر دهند.
دریافت ایمیل با استفاده از IMAP یا POP
حال که فهمیدیم SMTP چیست اجازه بدهید کمی بیشتر به نحوه عملکرد IMAP و POP بپردازیم. همانطور که گفتیم چنانچه دامنه گیرنده و فرستنده یکی نباشد SMTP باید نامه را از سرور فرستنده به سرور گیرنده بفرستد. برای یافتن سرور گیرنده، ابتدا به سیستم نام دامنه (DNS) متصل میشود و با استفاده از آدرس IP، سرور گیرنده را شناسایی میکند. هنگامی که این فرآیند تایید شد، ایمیل به سرور گیرنده ارسال شده و تحویل IMAP و POP میشود، مسئولیت این پروتکلها تحویل ایمیل به گیرنده است. آنها همیشه این کار را انجام خواهند داد.
البته باید بدانید که ایمیلها ابتدا در سرور توسط IMAP یا POP مرتب و ذخیره میشوند و سپس این پروتکلها وظیفه پیچیده تحویل پیام به گیرنده را به انجام میرسانند. از آنجایی که این سیستمها هماهنگ کار میکنند، ایمیلها به راحتی تحویل داده میشوند، مگر اینکه آدرسهای ایمیل جعلی یا اسپم شده باشند.
تفاوت POP و IMAP در چیست؟
همانطور که گفتیم پس از ذخیره ایمیلها و مرتبسازی آنها در سرور گیرنده، این دو پروتکل وظیفه تحویل پیامها از سرور گیرنده به کامپیوتر مقصد را بر عهده دارند.
نحوه تحویل پیام POP به این صورت است که پس از تحویل پیام به گیرنده اصلی، ایمیل از روی سرور گیرنده پاک میشود. در این صورت اگر گیرنده یکبار پیام ایمیل را از یک کامپیوتر مشاهده نمود، دیگر نمیتواند از روی کامپیوتر دیگری آن را ببیند. چرا که پیام قبلا باز شده و از روی سرور گیرنده پاک شده است.
برای حل این مشکل IMAP مطرح شد. تفاوت آن با POP در این است که یک کپی از ایمیل را روی سرور گیرنده ذخیره میکند و گیرنده میتواند بارها و بارها ایمیل را از سیستمهای متفاوت مشاهده کند.
مطالعه مقاله همه پروتکل های شبکه از دست ندهید.
سرور smtp چقدر امن است؟
همانطور که اشاره شد برای ارسال ایمیلهای شخصی میتوان از یاهو، جیمیل و … استفاده کرد. جایی که شما برای ارسال ایمیل از پروتکل SMTP کمک میگیریم در واقع مربوط به کسب و کار و سازمانتان است که نیاز به ارسال ایمیل انبوه دارید. بنابراین باید به جنبه امنیت ایمیلهای خود نیز توجه لازم را داشته باشید. از آنجایی که شما ایمیلهای تجاری خود را روی سرور SMTP ارسال میکنید، هر نوع نفوذ آسیب ملموسی به کسب و کارتان وارد میکند و رفع آن ممکن است سالها طول بکشد.
سرورهای SMTP در برابر حملات و تهدیدات آسیبپذیر هستند، این یک واقعیت است. عدم وجود رمزگذاری و فناوریهای امنیتی پیشرفته، ایمیلهای شما را در معرض هکرها قرار میدهد. علاوه بر این، در صورتی که یک هکر به سرور شما دسترسی پیدا کند، ممکن است نرمافزارها و بدافزارهای مخرب را به لیست گیرندههای ایمیلتان ارسال کند. و درست در همین زمان اعتماد مشتریان خود را از دست میدهید. میدانید که به دست آوردن مجدد این اعتماد کار مشکلی است. هیچکس نمیخواهد این راه را طی کند، بنابراین اجازه دهید به بررسی روشهای امنیت سرور SMTP بپردازیم.
چطور آدرس سرور SMTP را بفهمیم؟
یک سرور ایمیل SMTP آدرس (یا آدرسهایی) دارد که تنظیم آن توسط سرویسگیرنده یا برنامه انجام شده و عموما به صورت «smtp.serveraddress.com» قالببندی میشود. برای مثال آدرس هاست سرور SMTP Gmail smtp.gmail.com و Twilio SendGrid smtp.sendgrid.com است. به طور کلی میتوان آدرس سرور ایمیل SMTP را در قسمت حساب یا تنظیمات سرویسگیرنده ایمیل پیدا کرد. اگر قصد ارسال نامه را دارید، باید برنامه ایمیل خود را با آدرس IP سرور SMTP پیکربندی کنید. برای تعیین آدرس IP سرور SMTP این مراحل را دنبال کنید:
- با کلیک روی منوی Start خط فرمان را باز کنید و RUN را تایپ کنید.
- هنگامی که پنجره cmd باز شد، عبارت «نام سرور ping +» را تایپ کنید. مثل «ping mail.gmail.com» و بعد enter را بزنید. این دستور تلاش میکند از طریق آدرس IP با سرور SMTP ارتباط برقرار کند.
SMTP چه اجزایی دارد؟
در معماری کلاینت SMTP و سرور SMTP دو جزء اصلی وجود دارد:
- عامل کاربر (UA): مسئول تهیه، ایجاد و قرار دادن پیام در قالب یک پاکت برای انتقال است.
- عامل انتقال نامه (MTA): پیغام آماده را از طریق اینترنت به گیرنده منتقل میکند.
سرورهای SMTP با افزودن یک رله از سیستمهای پیچیدهتری پشتیبانی میکنند. تحت این سیستم میتوان از تعداد بیشتری MTA (عوامل انتقال نامه) در دو طرف ارسال یا دریافت پیغام استفاده کرد. بهعلاوه این سیستم رله SMTP میتواند از دروازه های پستی استفاده کند و در صورت نیاز بدون پروتکل TCP/IP اجرا شود.
تفاوت سرور SMTP و رله SMTP در چیست؟
رله SMTP فرآیند انتقال ایمیل بین سرورهای SMTP (یا در صورت تمایل MTA) است؛ زمانی که فرستنده و گیرنده از دامنههای متفاوت باشند. با این حال در عمل از اصطلاح رله SMTP برای اشاره به سرورهای SMTP استفاده میشود که از قابلیت رله پشتیبانی میکنند.
سرور SMTP محلی یا ابری؟ کدام بهتر است؟
برخی از بهترین سرورهای رایگان SMTP که اکثر استارتاپها و پروژهای ریز و درشت انتخاب میکنند عبارتاند ازGmail، Amazon SES، Elastic Email و سایر موارد مشابه. مزیت اصلی استفاده از سرورهای ابری این است که دیگر نیازی به ایجاد محیط ایمیل و نگهداری از آن نیست. در نتیجه میتوانید تا حد زیادی در مصرف منابع صرفهجویی کرده و آنها را صرف فعالیتهای دیگر کنید.
از سوی دیگر سرور SMTP محلی گزینه دیگری است که هیچ محدودیتی برای تعداد ایمیلهای ارسالی کاربر طی یک ساعت یا یک روز اعمال نمیکند و کنترل تمام نامههای ارسالی را برعهده شخص شما میگذارد. البته نسبت به سرورهای ابری یک ایراد بزرگ دارد و آن اینکه میتواند نرخ پرش را بین ۲۰ تا ۳۰ درصد افزایش دهد. این در بحث ارسال و دریافت پیغامهای ایمیلی، یک اشکال قابل توجه است.
سرور SMTP جعلی چیست؟
- یک سرور SMTP واقعی ایمیلهای مشتری را میپذیرد و آنها را به سرور پست الکترونیکی ارسال میکند.
- یک سرور SMTP جعلی ایمیلهای مشتری را میپذیرد ولی آن را تحویل نمیدهد؛ فقط فرایند تحویل را شبیهسازی میکند.
ممکن است بپرسید پس چرا به سرور SMTP جعلی نیاز داریم؟ پاسخ روشن است؛ برای تست ارسال ایمیلها!
گاهی اوقات در مراحل خاصی از پروژهها نیاز دارید چند ایمیل آزمایشی از برنامه یا وبسایت خود ارسال کرده و وضعیت تحویل را بررسی کنید. البته میتوانید این کار را با یک سرور SMTP واقعی انجام دهید که در این حالت باید با آدرس ایمیلهای ساختگی سروکله بزنید؛ مگر اینکه واقعا مشکلی نداشته باشید مشتریان واقعی این پیامهای آزمایشی را دریافت کنند. اینجاست که یک سرور SMTP جعلی وارد عمل میشود و ایمیلهای آزمایشی را از برنامه ارسال میکند. بیآنکه هیچیک از این ایمیلها به دست کاربران برسد.
روشهای تضمین امنیت سرور SMTP چیست؟
دو نمونه از بهترین روشهای امنیت سرور SMTP، استفاده از پروتکل TLS (امنیت لایه انتقال) و SSL (لایه سوکت امن) است. با استفاده از این روشها میتوانید پیامهایی را که در سرور و لیست ایمیل خود رد و بدل میکنید به راحتی رمزگذاری کنید. ممکن است این روشها پشتیبانی همه جانبهای برای حفظ امنیت ارائه ندهد؛ اما بهتر از این است که در فضای باز بدون امنیت رها باشیم.
مکانیزمهای احراز هویت دیگری مانند احراز هویت دو مرحلهای هم وجود دارد که برای بررسی لاگینهای ایمیل استفاده میشود. به این ترتیب میتوانید هکرها را شکست داده و ایمیلهای تجاری خود را ایمن نگه دارید.
پروتکل arp چیست؟ برای اطلاعات بیشتر می توانید مقاله مورد نظر را مطالعه نمایید.
کلام آخر
شاید هیچوقت به این فکر نکرده بودید که وقتی دکمه ارسال ایمیل را میزنید چه فرایند پیچیدهای طی میشود تا ایمیل به مقصد برسد. خوب است بدانید که این فرایند در کسری از ثانیه اتفاق میافتد. دیدیم که در این فرایند پیچیده پروتکل smtp نقش پستچی مجازی را ایفا کرده و ابتدا ایمیل را از کامپیوتر ما به سرور منتقل میکند و چنانچه دامنه کامپیوتر مقصد با ما یکی نباشد در مرحله بعد smtp ایمیل را به سرور گیرنده میفرستد. در این مقاله علاوه بر توضیح نحوه ارسال ایمیل به بررسی اهمیت مسئله امنیت پرداختیم و روشهای حفظ امنیت ایمیلها و سرورهای smtp را بیان نمودیم.
چنانچه این مقاله برای شما مفید بود میتوانید نظرات و تجربیات خود را در این خصوص با ما به اشتراک بگذارید.
منابع :
sendx
business2community
SMTP ایمیلها را از کلاینت (مانند Outlook یا Thunderbird) به سرور ایمیل و سپس به سرور مقصد منتقل میکند.
معمولاً از پورت 25 برای SMTP استفاده میشود، اما پورتهای 587 و 465 نیز برای ارسال امن (TLS/SSL) استفاده میشوند.
برای جلوگیری از اسپم و دسترسی غیرمجاز، SMTP معمولاً نیاز به احراز هویت کاربر دارد، که شامل نام کاربری و رمز عبور است.
بله، اما اکثر سرورها محدودیتهایی در اندازه ایمیلها دارند که باید رعایت شود.
دیدگاهتان را بنویسید