
یکی از مهمترین امور در بحث مدیریت وب و مدیریت مشتریان ارسال و دریافت ایمیل و درکل ارتباط با کاربران است که امروزه با وجود پیشرفت و افزوده شدن شبکههای اجتماعی باز هم ایمیل از کلاس و جایگاه خود برخوردار بوده و همه افراد با آن سر کار دارند.
ارسال ایمیل از سمت هاستها و دامنههای شخصی همواره مشکلاتی دارد که از مهمترین آنها ارسال ایمیل به اسپم باکس ایمیل سرورهای عمومی مانند جیمیل و ... است و تمام مدیران عموماً برای رفع این مشکل اقدامات زیادی میکنند. حال در این مطلب ما قصد داریم در اولین قدم رفع این نوع مشکلات به توضیح دلایل استفاده از SMTP هاست به جای تابع PHP Mail پرداخته و آنها را برای شما شرح دهیم.
قبل از شروع موضوع اصلی ، ابتدا شما را با SMTP و PHP Mail آشنا خواهیم ساخت تا در صورتی که اطلاعات کاملی از این دو اصطلاح ندارید ، با آن آشنا شده و سپس موضوع اصلی را برای شما شرح دهیم.
SMTP چیست ؟
SMTP یا Simple Mail Transfer Protocol یک پروتکل استاندارد تعریف شده برای ارسال ایمیل است. این پروتکل از قوانین و شرایط خاصی تبعیت داشته و برای ارسال ایمیل به صورت پیشفرض از پورت 25 نیز استفاده مینماید. SMTP قابلیت رمزنگاری داشته و پس از رمزنگاری شدن ویا تنظیمات مدیر سرور بر روی پورتهای 465 یا 587 فعاللیت خود را ادامه خواهد داد.
شاید به عنوان یک کاربر ساده از سرویسهای ایمیل جیمیل ، هات میل و ... استفاده کرده باشید و جالب است بدانید که این سرویسها نیز برای ارسال ایمیل نیز از SMTP استفاده میکنند و این به این معناست که این پروتکل یک سلسله قوانین کاملاً استاندارد و یکپارچه محسوب میشود که تمامی سرویسهای ایمیل از آن نیز استفاده میکنند.
PHP Mail چیست؟
زبان برنامهنویسی PHP قابلیتها و توابع فراوانی دارد که برای آسودگی کار کاربران آنها را اضافه کرده است. یکی از توابعی که بیشمار از آن استفاده میگردد توابعی است که به آن PHP Mail گفته میشود. این توابع که در زبان برنامهنویسی PHP با عبارت ()Send Mail و ()Mail نشان داده میشود ، بسیار کاربردی بوده و کار بسیاری از CMS ها یا همان سیستمهای مدیریت محتوا را ساده کرده است اما در مقابل بسیار خطرناک هستند.
خطر این توابع این است که بدون توجه به صحت آدرس ایمیل فرستنده و یا حتی دریافتکننده اقدام به ارسال ایمیل کرده و هیچگونه از موارد DKIM ، SPF و DMARC را برای شناسایی دامنه برای سرور دریافتکننده ارسال نمیکند.
همین امر باعث شده پس از مدتی سرورهای عمومی این ایمیلها را به دلیلی ناشناس بودن ، جزئی از اسپمها شناسایی کنند و در ادامه آدرس IP سرور را به طور کلی در لیست سیاه قرار دهند و به کل هیچ ایمیل دیگری را نیز دریافت نکنند.
در این بین نیز افراد سودجو با استفاده از این توابع ، اسکریپتهای اسپمینگ را ایجاد کرده و شروع به ارسال ایمیلهای گروهی خواهند کرد ، تا جایی که آدرس IP سرور به صورت کامل در سرورهای عمومی بلاک شوند.
برای رفع این موضوع و ارسال بهتر ایمیلها توسط سایت شما برای مشتریان خود ، بهتر است به جای توابع ارسال ایمیل در PHP از SMTP هاست استفاده گردد که با توجه به تنظیمات امنیتی جلوی ارسال اسپم از سمت شما به صورت ناخواسته را خواهد گرفت و درعین حال امنیت سرور شما را برقرار خواهد کرد.
حال با توضیحاتی که خدمت شما عرض شد در ادامه به دلایل استفاده از SMTP هاست به جای تابع PHP Mail خواهیم پرداخت.
دلایل استفاده از SMTP هاست به جای تابع PHP Mail
دلایل زیادی از سمت کارشناسان حوزه امنیت برای استفاده از SMTP به جای PHP Mail تا به حال گفته شده است که در این بین به برخی از مهمترین آنها خواهیم پرداخت تا شما به عنوان یک مدیر سایت با این موارد آشنا شوید.
1- افزایش امنیت ارسال ایمیل
ارسال با PHP Mail بدون هیچگونه رمزنگاری و بدون استفاده از هیچ متدی امنیتی صورت خواهد پذیرفت این درحالی است که ارسال ایمیل با SMTP قابلیت رمزنگاری و حتی قابلیت استفاده از SSL را فراهم خواهد ساخت تا شما بتوانید با حداکثر امنیت به ارسال ایمیل بپردازید.
2- سرعت بهرهوری و ارسال ایمیل
با استفاده از SMTP سرعت دریافت ایمیل توسط ایمیل سرورها با سرعت بیشتری خواهد بود و با اطمینان بیشتری ایمیلها ارسال شده توسط یک SMTP سرور را دریافت خواهند کرد.
3- کاهش اسپم
سرورهای SMTP در کنار خود از سرویسهایی برای جلوگیری ارسال ایمیل اسپم استفاده میکنند تا در صورتی که کاربران به صورت اتفاقی ایمیلی را ارسال میکنند که مشابه اسپم است و نمره اسپم آنها بالاست ، جلوگیری گردد. این امر به افزایش شهرت دامنه کمک خواهد کرد که در نهایت منجر به ارسال مستقیم ایمیلها به اینباکس کاربران میشود.
4- ارسال اطلاعات شناسایی ایمیل
در حالت PHP Mail توابع هیچ توجهی به اطلاعاتی از دامنه و شناسایی دامنه نخواهند کرد و همچنین ممکن است از یک دامنه Fake ایمیلی ارسال کنند پس بدین ترتیب عموم ایمیل سرورهای عمومی در صورتی که ارسال از PHP Mail را مشاهده کنند ممکن است ایمیل را به دست دریافتکننده نرسانند ، این در حالی است که SMTP در هنگام ارسال ایمیل از متدهای متفاوتی برای شناساندن و ارسال اطلاعاتی از Valid بودن دامنه ارسال خواهند کرد که همین امر باعث خواهد شد که ایمیل سرورهای عمومی ایمیلها را به درستی دریافت کنند.
5- تضمین دریافت ایمیل
ارسال ایمیل از طریق SMTP به شما این تضمین را خواهد داد که اگر ایمیلهای شما اسپم نباشد به دست کاربران و ایمیل سرورهای عمومی برسد ، در هنگام استفاده از SMTP به دلیل استفاده از متدهای مختلف و عمل Negotiation یا همان صحبت بین سرورها ایمیل ارسالی به هر شکلی شده به دست دریافت کننده خواهد رسید ، البته قابل ذکر است که رسیدن ایمیل به اینباکس و یا اسپم باکس نسبت به شهرت دامنه شما صورت خواهد پذیرفت.
6- جلوگیری از فیشینگ ایمیل
ارسال ایمیل توسط SMTP که عموماً با امنیت و TLS همراه خواهد بود باعث خواهد شد از فیشینگ ایمیل شما جلوگیری شده و همچنین در ادامه اطلاعات ایمیل و کاربران شما دست هکرها و سودجویان نیفتد. استفاده از متدهای شناسایی ایمیل ارسال کننده و دریافت کننده توسط این پروتکل این امر را محقق خواهد ساخت.
این دلایل و موارد زیاد دیگری وجود دارد که در صورتی که شما یک سایت حرفهای را مدیریت میکنید از این پروتکل استفاده کنید تا بهترین عملکرد را داشته باشید.
حال برای سادگی کار شما کاربران عزیز ، ما آموزشهای متعددی از نحوه استفاده از SMTP را اسکریپت و CMSهای متفاوت بر روی سایت قرار دادهایم که از طریق لینک زیر شما قادر خواهید بود به آن دسترسی داشته باشید.
ارسال ایمیل در وردپرس از طریق SMTP
ارسال ایمیل در جوملا 3 از طریق SMTP
لازم به ذکر است در صورتی که شما نیاز به آموزش ارسال ایمیل با SMTP در سرویسها و یا CMSهای دیگر را دارید میتوانید درخواست آن را در کامنتهای زیر ارائه کرده تا آموزش مورد نیاز شما تهیه شود.
امیدواریم در پایان از مقاله دلایل استفاده از SMTP هاست به جای تابع PHP Mail استفاده لازم را برده باشید.
کاربر گرامی شما میتوانید سؤالات مربوط به این آموزش را در بخش کامنتها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید و یا برای رفع مشکلات دیگر در زمینه آموزشهای آذرآنلاین به بخش Community مراجعه کرده و مشکل خود را در آن مطرح نمایید تا در اسرع وقت کاربران دیگر و کارشناسان به سؤالات شما پاسخ دهند.
نظرات کاربران