ارسال و دریافت ایمیل یکی از مواردی میباشد که صاحبان وب سایت توجه ویژه ای به آن دارند. زیرا که با استفاده از ایمیل میتوانند با مشتریان و کاربران وب سایت تعامل داشته باشند. ارسال ایمیل با استفاده از زبان برنامه نویسی PHP بسیار مورد استفاده بوده و همچنین ارسال ایمیل با استفاده از دامنه شخصی مشکلاتی را به همراه دارد. یکی از مهمترین این مشکلات ، ارسال ایمیل به پوشه اسپم سرورهای عمومی مانند یاهو ، جیمیل و ... است.
بسیاری از مدیران سرورها ، جهت جلوگیری از ارسال ایمیل های انبوه و اسپم ، که ممکن است از آدرس های ایمیل غیرواقعی ارسال شود ، تابع پیشفرض ارسال ایمیل ()mail را بر روی سرور مسدود کرده تا به جای توابع ارسال ایمیل در PHP از SMTP هاست استفاده شود که در نتیجه از ارسال اسپم از سمت شما به صورت ناخواسته جلوگیری خواهد شد.
حال در این مقاله میخواهیم نحوه رفع این مشکلات را با استفاده از SMTP به جای تابع PHP Mail شرح دهیم. در ابتدا با نحوه کار SMTP و PHP Mail آشنا خواهیم شد.
SMTP چیست ؟
SMTP مخفف عبارت Simple Mail Transfer Protocol، پروتکلی برای ارسال ایمیل است که همراه با پروتکل های POP3 یا IMAP استفاده میشود. تنها تفاوت این است که پروتکل های POP3 و IMAP برای دریافت ایمیل مورد استفاده قرار میگیرند. پروتکل SMTP به صورت پیشفرض از پورت ۲۵ برای ارسال ایمیل استفاده میکند. همچنین بر اساس تنظیمات سرور نیز میتواند از پورت های ۴۶۵ یا ۵۸۷ نیز استفاده نماید. سرویس ها یاهو ، جیمیل و .. نیز از SMTP برای ارسال ایمیل استفاده میکنند.
PHP Mail چیست؟
یکی از توابعی که در زبان برنامهنویسی PHP ، استفاده میشود تابع PHP Mail است که در آن از عبارات ()Send Mail و ()Mail استفاده میشود. اغلب سیستم های مدیریت محتوا نیز از این تابع جهت ارسال ایمیل استفاده میکنند. این تابع بدون توجه به صحت آدرس ایمیل فرستنده و یا دریافتکننده ، ایمیل ارسال کرده و رکوردهای DKIM ، SPF وDMARC را جهت صحت ارسال کننده ایمیل به سرور دریافت کننده ایمیل ارسال نمیکند. به همین جهت این ایمیل ها توسط سرورهای عمومی به عنوان اسپم شناخته شده و در نتیجه آدرس آی پی سرور ارسال کننده ایمیل در لیست سیاه قرار گرفته و امکان ارسال ایمیل نخواهد بود. همچنین برخی افراد با استفاده از این تابع و ایجاد اسکریپت های ارسال اسپم ، ایمیل های گروهی ارسال کرده و در نتیجه آی پی سرور بلاک خواهد شد. در تابع ()mail نیاز به ایمیل واقعی نبوده و تنها ساختار ایمیل کافی است که برای دریافت کننده ایمیل نمایش داده میشود. در صورتی که این تابع بر روی سرور مسدود باشد ، باید یک ایمیل واقعی ایجاد شده و از آن استفاده شود.
دلایل استفاده از SMTP هاست به جای تابع PHP Mail
مهمترین دلایلی که برای استفاده از SMTP به جای PHP Mail وجود دارد عبارتند از :
کاهش ارسال اسپم
ارسال ایمیل با استفاده از پروتکل SMTP به صورتی است که در صورت بالا بودن رتبه اسپم ایمیل ارسالی توسط کاربر ، از ارسال آن جلوگیری خواهد کرد تا بدین وسیله موجب افزایش شهرت دامنه شده و ایمیل های ارسالی مستقیم در اینباکس مقصد دریافت شود.
ارسال اطلاعات شناسایی ایمیل
در حالت PHP Mail ، هیچ اطلاعاتی از شناسایی دامنه ارسال نخواهد شد. به همین جهت ارسال ایمیل از یک دامنه تقلبی نیز امکانپذیر خواهد بود. بنابراین در صورتیکه اینگونه ایمیل ها به سرورهای ایمیل عمومی ارسال شود ، به دست دریافت کننده ایمیل نمیرسد. در حالیکه با استفاده از پروتکل SMTP ، همراه با ایمیل ارسالی مشخصات معتبر بودن دامنه ارسال خواهد شد که در نتیجه آن ایمیل توسط سرورهای ایمیل عمومی دریافت خواهد شد.
جلوگیری از فیشینگ ایمیل و افزایش امنیت ایمیل ارسالی
ارسال ایمیل با استفاده از پروتکل SMTP ، با متد رمزنگاری با استفاده از TLS وSSL میباشد که احتمال حمله فیشینگ به ایمیل را کاهش داده و از تغییر محتوای ایمیل جلوگیری خواهد شد. در حالیکه ارسال با PHP Mail بدون هیچ نوع رمزنگاری و متد امنیتی میباشد.
تضمین دریافت ایمیل
ارسال ایمیل با استفاده از SMTP ، در صورتیکه ایمیل ارسالی اسپم نباشد ، به طور حتم توسط سرورهای ایمیل عمومی تایید شده و با توجه به میزان شهرت و اعتبار دامنه در اینباکس و یا پوشه اسپم مقصد دریافت خواهد شد.
- بازدید: 1817