SMTP Mailer یه روش رایگان برای ارسال ایمیل هاست که امروز قراره تو این پست در مورد این که اصلاً این میل سرور چیکار میکنه و چه خوبی‌هایی نسبت به بقیه میل سرورها داره براتون صحبت کنم، البته برای این که بیشتر با موضوع آشنا بشین اول از همه براتون میگم که اصلاً این سرور چیه و چه فرقی با یه سرور معمولی داره و بعد مزایای ارزشمندش رو براتون ردیف می‌کنم تا متوجه بشین یه همچین برنامه‌ای چقدر می‌تونه شما رو در برابر اسپم ها و هکرها محافظت کنه.

بهتره برای شروع یه تعریفی از میل سرور براتون ارائه بدم و بعد قدم به قدم در مورد SMTP Mailer صحبت کنیم:

میل سرور چیست؟

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

عملکرد میل سرور Mail Server

عملکرد Mail Server عین کاریه که یه پستچی معمولی انجام میده! وقتی شما یه نامه ای رو برای کسی ارسال می‌کنین باید یه سری اطلاعات مثل عنوان نامه، آدرس فرستنده، آدرس گیرنده و غیره رو حتماً روی پاکت نامه بنویسین و سپس محتوای اون رو داخل پاکت قرار بدین. پستچی هم طبق آدرسی که شما نوشتین نامه رو به مقصد تحویل میده.

میل سرور هم دقیقاً همچین کاری رو به صورت اینترنتی انجام میده! یعنی چی؟ یعنی به جای این که ماشین پست و پستچی وجود داشته باشه این سرور پیغام های شما رو میرسونه. اول از طریق یه اینترفیس Interface تحت وب یا کلاینت Client وارد حساب کاربری تون که مشخص میکنه شما فرستنده ایمیل هستین میشین. بعد یه ایمیل جدید ایجاد میکنین. بعدش فقط کافیه متن ایمیل، موضوع اون و آدرس گیرنده رو وارد کنین. حالا میل سرور ارسال ایمیل تون رو تو صف قرار میده و اون رو دقیقاً به آدرس گیرنده که نوشتین ارسال میکنه.

حالا بریم سراغ بحث اصلی خودمون یعنی SMTP Mailer :

SMTP Mailer چیست؟

سرورهای SMTP بسیار پیچیده هستند و به فرآیند ارسال ایمیل تون کمک میکنه! این سرور که اسمش به طور کامل هست : Simple Mail Transfer Protocol یه برنامه‌ایه که هدف اصلیش ارسال و دریافت ایمیل است.

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

SMTP Mailer یه آدرسی داره که می‌تونه توسط مشتری یا برنامه ایمیل شما تنظیم بشه و به طور کلی فرمتش اینه: SMTP.Serveraddress.com پس می‌تونین آدرس سرور SMTP Mailer خودتون رو در اکانت یا بخش تنطیمات ایمیل پیدا کنین و تنظیمش کنین!

وقتی شما یه ایمیلی رو ارسال می‌کنین، سرور SMTP اون ایمیل رو پردازش می‌کنه، تصمیم میگیره پیامتون از چه سروری به یه سرور دیگه ارسال بشه و سپس اون رو به همون سرور منتقل می‌کنه! یعد ارائه دهنده خدمات صندوق گیرنده، مثل Gmail یا AOL اون پیام رو دانلود میکنن و داخل باکس پیام های دریافتی قرار میدن.

همه اتصال‌ها به میل سرور با یه نام کاربری و رمز عبوری که تو همون میل سرور تعریف شده، انجام میشه؛ پس با استفاده از این برنامه، برای جلوگیری از ارسال اسپم، اول نام کاربری و رمز عبور فرستنده ایمیل بررسی میشه و بعد از این که قبول شد، ایمیل تو میل سرور Mail Server دریافت میشه.

آیا سرور SMTP Mailer همون سرور معمولیه؟

اگه بخوام از نظر فنی بگم بله! SMTP Mailer مثل اکثر سرورها داده هایی رو برای ارسال به یه سرور دیگه پردازش میکنه اما خب موضوع این جاست که این سرور هدف بسیار مشخصی برای پردازش داده های مربوط به ارسال، دریافت و انتقال ایمیل داره و لزوماً چون اسم سرور روشه به این معنی نیست که لابد باید روی یه دستگاه قرار داشته باشه!

SMTP Mailer یه برنامه کاربردیه که به صورت مداوم منتظر ارسال یه ایمیل جدیده.

دلیل اهمیت SMTP Mailer

بدون وجود داشتن این سرور ایمیل شما ممکنه به مقصد نرسه! ببینین شما بعد از این که ایمیلی رو می‌نویسین و روی دکمه ارسال کلیک می کنین این ایمیل به صورت یه رشته کد به سرور SMTP ارسال میشه. این سرور می‌تونه اون کد رو پردازش کنه و پیام رو ارسال کنه! پس حالا اگه SMTP Mailer نباشه چی میشه؟ بله کد ایمیل شما ترجمه نشده باقی میمونه و پیامتون از بین میره.

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

نکته
با این روشی که SMTP Mailer کار میکنه یه لایه امن SSL قبل از ارسال ایمیل، محتوا رو کد گذاری میکنه و سپس اون رو ارسال میکنه. با این روش دیگه امکان رمز گشایی یه ایمیل توسط هکرها کم میشه و امنیت کارمون حسابی تامین میشه!

وظیفه SMTP Mailer هنگام ارسال ایمیل

کلاینت شما یا اون اینترفیسی که باهاش برای ایمیل زدن کار می کنین، با استفاده از پورت ۲۵ (به صورت پیش فرض) به سرور SMTP Mailer متصل میشه و سپس با سرورهای ایمیل سرور شما ارتباط برقرار میشه (مرحله اول مکالمه) تا بتونه نام کاربری و رمز عبور شما رو تایید کنه و مطمئن بشه که این یه حساب فعاله و بعد از اون اطلاعات پیام مثل آدرس فرستنده و گیرنده و محتوای پیام رو دریافت میکنه.

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

سرورهای دریافت کننده ایمیل ، آدرس فرستنده و گیرنده  (برای این که مطمئن بشه معتبر هستند) و محتوای پیام شون رو بررسی میکنه. همچنین دامنه ارسال رو برای هر مشکل احتمالی از طرف DNS، مثل DKIM و SPF نامعتبر رو چک میکنه. تاوقتی که هیچ مشکلی وجود نداشته باشه، سرورهای دریافتی هم از پروتکل POP3 یا IMAP برای بازیابی ایمیل و ارسال پیام به گیرنده مورد نظرشون استفاده میکنن.

مزایای استفاده از SMTP Mailer

این پروتکل SMTP که بهتون معرفی کردم یه سری مزایای خیلی خوبی داره که من چندتا از اونها رو براتون این‌جا ردیف کردم:

۱. سادگی

این سرور ساده ترین شکل ممکنِ برقراری ارتباط از طریق ایمیل ، بین رایانه های مختلف تو یه شبکه رو فراهم میکنه. هیچ مشکلی برای کاربران نهایی وجود نداره چون که فقط کافیه ایمیل خودشون رو تایپ کنن و اون رو به یه آدرس گیرنده ارسال کنند. این ایمیل ها از طریق یه پروسه ساده از سرور SMTP Mailer برای انتقال به سرور گیرنده پردازش میشه و ارتباطات الکترونیکی رو ساده میکنه!

۲. تحویل سریع ایمیل

از اون‌جایی که SMTP از یه بستر ساده ساخته شده، پیام‌های ایمیل ممکنه به راحتی و با سرعت بیشتری ارسال بشن! پس تا وقتی که این سرور مشغول فعالیته و در شرایط خوبی هم قرار داره، می‌تونین انتظار داشته باشین که پیام هاتون به سرعت منتقل بشن!

۳. مطمئن بودن

SMTP Mailer از نظر پیام های ایمیل ارسالی قابل اطمینانه! حالا این اطمینان یعنی چی؟ یعنی اگه یه پیام خاصی ارسال نشه، این سرور تا وقتی که یه ارسال موفقیت آمیز نداشته باشه بیخیال ارسال کردن اون پیام نمیشه و به خاطر همین هم از بقیه برنامه های ارسال ایمیل بهتر و جلوتره! پس شما تا وقتی که از این سرور استفاده می‌کنین می‌تونین مطمئن باشین که امکان نداره ایمیل هاتون (بجز مواقعی که بلاک شدین یا آدرس گیرنده رو اشتباهی وارد کردین) به طرف مقابل ارسال نشه!

۴. گزینه‌ای برای سرورهای اختصاصی

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

چرا نباید از PHP استفاده کنیم؟

خیلی‌ها مدام اصرار میکنن که از سرورهای () PHP برای ارسال ایمیل استفاده نکنین ولی آیا می‌دونین چرا؟ مگه SMTP Mailer چه مزیتی نسبت به PHP Mailer داره که از اون می‌تونیم استفاده کنیم ولی از این یکی نه! چندتا از مشکلات PHP Mail رو براتون میگم و بعد خودتون تصمیم بگیرین که آیا به نفعتونه از این سرور استفاده کنین یا این که درخواست ارسال ایمیل با SMTP Mailer داشته باشین:

  • فرمت غلط از سربرگ ایمیل یا محتوای اون (مثل اختلاف بین خط Windows/Unix)
  • sendmail روی سرور شما نصب یا تنظیم نشده و این یکی از رایج‌ترین دلایل ارسال نکردن پیام‌های ایمیل توسط این برنامه‌ست.
  • ارائه دهنده هاستِ فرستنده اجازه نمیده ایمیل ها از طریق () PHP ارسال بشن، این رایج‌ترین خط مشی مربوط به محافظت در برابر محتوای اسپم هست که تقریباً هر ارائه دهنده هاستی اون رو روی سرورهاش اضافه میکنه. برای امنیت بیشتر،  اون‌ها پورت های ۲۵، ۵۸۷ و ۴۶۵ SMTP رو هم مسدود میکنن!
هشدار
ایمیل هایی که از طریق فانکشن () PHP ارسال میشن دارای ایراداتی در قالب سربرگ و محتوا هستند که می‌تونن باعث بروز مشکلات جدی در رابطه با اسپم ها بشن!

اسپم و PHP Mailer

در بیشتر موارد وقتی ایمیلی رو از طریق PHP Mailer ارسال کنین، وارد فایل اسپم صندوق دریافتی‌تون میشه، به آدرس فرستنده برمیگرده و یا به سادگی رد میشه و ارسال نمیشه! GMX بهترین نمونه از ارائه دهنده‌ایه که همچین ایمیل های بدون نام و نشونی رو رد یا حذف میکنه.

درسته که ارائه دهنده های دیگه مثل Gmail ایمیل ها رو قبول میکنن اما اون‌هایی که تو فایل‌های اسپم هستند رو فیلتر میکنن!

دقت داشته باشین که:

هشدار
عملکرد PHP Mailer برای حجم زیادی از ایمیل های داخل یه لوپ مناسب نیست چون برای هر ایمیلی سوکت های SMTP رو باز و بسته میکنه و این اصلاً کار مفید و خوبی به حساب نمیاد!

البته بهتره بدونین که فقط PHP Mailer نیست که ممکنه یکم ایراد داشته باشه بلکه بعضی از انواع SMTP Mailer هم می‌تونن دردساز بشن ولی در کل همیشه سرور SMTP از بقیه بهتر و کارآمدتره.

Sendmail یا Postfix و Gmail از انواع رایج سرور اس ام تی پی هستند که مثلاً اگه شما از Postfix استفاده کنین با این که آسون‌ترین مدل SMTP به حساب میاد مخصوصاً وقتی با ()PHP یکپارچه بشه، اما خب بیشتر اوقات اینا به صورت یه جور راه اندازی نمیشن و تو کار کردنشون یکم مشکل پیش میاد.

هشدار
حواستون باشه که اگه ایمیل های زیادی رو باهم ارسال میکنید، به آدرس IP و آدرس PHP که برای قسمت"From

تنظیم کردن SMTP Mailer

شرکت هایی هستن که خدمات تنظیم کردن  SMTP Mailer رو بهتون ارائه میدن و البته پلاگین یا افزونه های زیادی هست که اگه از سه سایت وردپرس استفاده می کنین میتونین ازشون استفاده کنین تا ایمیل هاتون رو به صورت بسیار امن و سریع ارسال کنین.

همونطور که میدونین تو عرصه شبکه های کامپیوتری، مجموعه پروتکل های متناقض و متفاوتی در رابطه با ارسال ایمیل وجود داره و باید دنبال بهترین، سریع‌ترین و امن‌ترین اون‌ها باشین. از اون جایی که برنامه SMTP Mailer یکی از ساده‌ترین روش‌های انتقال ایمیل هست پس پیشنهاد ما به شما استفاده از این برنامه در سایت  WP خودتونه!

در کل می‌تونین به پروتکل SMTP به عنوان یه سرویس که ایمیل های ورودی و خروجی شما رو به شکلی امن تو بستر اینترنت اداره میکنه نگاه کنین.

پیشنهاد برای مطالعه

در آخر باید بهتون بگم پروتکل SMTP Mailer زندگی ما رو به عنوان یه دیجیتال مارکتر راحت‌تر میکنه و پیشنهاد من به شما اینه که اصلاً لازم نیست خودتون رو درگیر کارهای فنی سرورها کنین و به جای اون تمرکزتون رو روی برنامه ریزی و تولید محتوا و همچنین طراحی کمپین‌های ایمیلی جذاب کنین و خیالتون راحت باشه که سرور SMTP Mailer به بهترین شکل ممکن راهش رو برای انتقال ایمیل های شما و دریافت اون‌ها پیدا میکنه 🙂