جلوگیری از بلاک یا ارسال ایمیل به اسپم با SPF
شاید برای شما هم اتفاق افتاده باشد وقتی از حساب ایمیل شخصی یا شرکت خود که تحت دامنه ای مستقل است به سایر سرویس های عمومی (مانند Yahoo، Gmail و...) یا حتی سایر سرورهای شخصی یا سازمانی، ایمیلی ارسال کرده باشید و با کمال تعجب مشاهده کنید که ایمیل برگشت داده شده و یا در خوشبینانه ترین حالت به فولدر اسپم ها منتقل و احتمالا توسط مخاطب مد نظر شما خوانده نیز نشود، البته که این حالت به هیچ وجه خوشایند نیست و علاوه بر ارسال نشدن راحت و صحیح پیام شما، به نوعی اعتبار مضاعف و اطمینانی را که می توان از طریق ارسال مستقیم ایمیل به فولدر Inbox مخاطب به دست آورد، از دست می دهیم، از این رو در یادداشت پیش رو مکانیزمی را معرفی خواهیم کرد که شاید یکی از موثرترین روش ها برای خلاص شدن از شر بلاک یا ارسال ایمیل های شما به فولدر اسپم ها باشد، این مکانیزم SPF (مخفف Sender Policy Framework) نام دارد که در ادامه در مورد آن بیشتر خواهیم گفت.
صورت مسئله، بلاک یا ارسال ایمیل به فولدر اسپم ها!
از زمان پیدایش پروتکل SMTP (مخفف Simple Mail Transfer Protocol) که در سال 1982 میلادی جهت ارسال نامه های الکترونیکی (در استاندار RFC 821) تعریف شد تا کنون، در کنار استفاده های متداول، همواره این قابلیت جهت ارسال هرزنامه ها، ایمیل های تبلیغاتی بدون درخواست کاربر، برنامه های مخرب و... مورد سوء استفاده افراد سودجو و فرصت طلب نیز قرار گرفته که اگر نبود روش هایی برای شناسایی ایمیل های حقیقی از سایر موارد ناخواسته، شاید استفاده از امکان ایمیل در وب اگرنه غیرممکن اما لااقل بسیار ملال آور می شد، با توجه به این مسئله هرچند سیستم های کنترل کننده برای تجزیه تحلیل و تفکیک ایمیل ها عموما از روش های مختلفی استفاده می کنند، اما به دلیل استفاده سودجویان از آدرس های جعلی و روش های پیچیده تر، نیاز به راهنمایی از طرف ارسال کننده ایمیل و اطمینان سنجی دو طرفه (سرور ارسال کننده و دریافت کننده) احساس شد، در غیر این صورت ظاهرا ترجیح سرویس های ایمیل این است که اصل بر عدم اطمینان است، مگر اینکه خلافش ثابت شود و لذا ایمیل های کمی مشکوک روانه فولدر اسپم ها و ایمیل های کمی بیش تر مشکوک، بلاک شده و به ارسال کننده ارجاع داده می شوند!، از این رو پروژه ای تحت عنوان SPF یا Sender Policy Framework جهت تدوین استانداردی مشخص در زمینه تشخیص آدرس ایمیل های حقیقی از موارد جعلی آغاز گردید که ماحصل آن نسخه کلاسسیک یا نسخه 1 استاندارد SPF شد.
SPF چیست؟
همان طور که گفتیم SPF یک روش استاندارد یا پروتکل جهت شناسایی ایمیل های جعلی از حقیقی است، کارکرد اصلی این روش ارائه راهکاری به صاحبان دامنه های وب است تا مشخص کنند کدام ایمیل به طور حقیقی متعلق به دامنه آنها است و کدام یک به صورت جعلی از نام دامنه آنها سوء استفاده می کند، این کار نیز با افزودن اطلاعاتی به DNS دامنه انجام می شود (در اصطلاح فنی به این اطلاعات Reverse MX یا MX معکوس گفته می شود، در حالت عادی MX اطلاعاتی است که مشخص می کند چه سروری ایمیل ارسال شده را دریافت کرده است و حالت عکس آن مشخص کننده این است که چه سروری ایمیل را ارسال کرده است)، به این ترتیب سایت دریافت کننده ایمیل می تواند آدرس ارسال کننده را با موارد معتبر در اطلاعات DNS دامنه اصلی تطبیق داده و از معتبر بودن حساب ایمیل ارسال کننده اطمینان حاصل کند.
نمونه اطلاعاتی که به DNS اضافه می شوند
صرفا جهت آشنایی با نمونه اطلاعاتی که به واسطه SPF به DNS اضافه می شوند ، به ذکر یک مثال بسنده می کنیم:
v=spf1 +a +mx +ip4:*.*.*.* +ip4:*.*.*.* ~allبا توجه به دستور بالا، کلیه ایمیل هایی که خارج از دو IP تعریف شده باشند، از نظر دامنه اصلی غیر معتبر عنوان شده اند!فعال سازی SPF
برای فعال سازی SPF معمولا نیازی به ویرایش دستی اطلاعات DNS نیست (و این کار نیز توصیه نمی شود)، اغلب در برنامه های مدیریت فضای هاست مانند cPanel این امکان از قبل فراهم شده (در قسمت Mail و Authentication یا در نسخه های جدیدتر قسمت Email Deliverability، پس از انتخاب این بخش در سربرگ مربوط به SPF گزینه Enable را فعال یا بسته به نسخه cPanel موارد پیشنهادی را نصب کنید)، در صورتی که این امکان به هر دلیل در دسترس نبود باید با پشتیبانی هاست خود موضوع را مطرح نمائیم.
سایت رسمی پروتکل SPF
اگر علاقمند به کسب اطلاعات بیشتری در رابطه با این پروتکل سودمند هستید، می توانید به سایت اصلی آن در آدرس زیر مراجعه کنید:
http://www.openspf.orgنکته 1: لازم به یادآوری است که SPF تنها یک روش تقریبا موثر در رابطه با جلوگیری از ارسال ایمیل به فولدر اسپم ها یا بلاک شدن آن است، با توجه به استفاده سرورهای دریافت کننده ایمیل از روش های گوناگون جهت محافظت در برابر هرزنامه ها، ممکن است به دلایل دیگر (به فرض درج IP سرور ارسال کننده در لیست سیاه)، با وجود استفاده از پروتکل SPF، یک ایمیل بلاک یا به فولدر اسپم ها منتقل شود که خود نیاز به بررسی موردی دارد.نکته 2: طبق بررسی ما سرویس های عمومی وب نظیر گوگل و یاهو از این استاندارد به طور جدی پیروی می کنند، به طوری که استفاده نکردن از SPF احتمال بلاک شدن ایمیل ارسالی را (مخصوصا برای صاحبان وبسایت های میزبانی شده در سرورهای اشتراکی) به شدت افزایش می دهد.
چگونه با برنامه Outlook ایمیل ارسال و دریافت کنیم؟
آموزش کاربردی عبارات با قاعده (Regular Expressions)
IP چیست و چه کاربردی دارد؟
لیست کدهای وضعیت HTTP و معنی خطاهای سرور
اصطلاحات و مفاهیمی که مدیر سایت باید بداند!
خسته نباشید
ببخشید من میخواستم با استفاده از تابع mail ایمیل ارسال کنم روی لوکال هاست و زمپ آخرین ورژن نصب کردم .
خیلی سرچ کردم تنظیمات مختلفی انجام دادم اما بازم نمیشه !!!!!!!
از جمیل استفاده میکنم .
لطفا راهنماییم کنید .
عالی بوووود
ببخشید یک سوال داشتم
خیلی از سایت های دانلودی را اگر توجه کنید داخل فایل هایی که برای دانلود میگذارند یک لینک از ادرس اصلی سایت یا یک صفحه خاص داخل فایل فشرده هم قرار میدهند که با کلیک بر روی ان مرورگر به صفحه مورد نظر میرود میخواستم بپرسم چطوری میتوانم از این لینک ها بسازم و در فایل های فشرده بگذارم
ممنون میشوم جواب بدهید
با تشکر
از اموزشای خوبتون ممنون.
ببخشید که زیاد به پست مربوط نمیشه سوالم اما فکر کردم شاید اولین نظری که سر زده بشه اولین پست باشه.
من یه تابع نوشتم برای اینکه میخام بعد از اخرین اسلش هر چی باشه رو بدست بیارم به این صورت کار میکنه اما وقتی تابع رو فراخوانی میکنم برای یک لینک، فقط مقدارش رو اکو میکنه
و وقتی مثلا میرم رو اون لینک ولی ادرس به این صورته هنوز
localhost/example/facebook.comاینجا اینطوریه مثلا:<a href="facebook.com" target="_blank"></a>ولی وقتی میری روی لینک ادرس و اینطوری نشون میدهlocalhost/eample/facebook.comاز تابع $_SERVER['REQUEST_URI'] هم سعی کردم اما نشد.اینم کدمه:
function text($text)
{
$last_slash=strrpos($text,"/");
$url=substr($text,$last_slash + 1);
return $url;
}
<a href="<?php echo text('/facebook.com');?>" target="_blank"></a>منتظر پاسختون هستم.خیلی ممنون.
در مورد مشکل عنوان شده، این حالت عادی است!، زمانی که مقدار href بدون عبارت http (به صورت نسبی) درج شود، آدرس مرورگر به عنوان ریشه لینک در پیش نمایش آن نشان داده می شود، برای حل آن کافی است به ابتدای مقدار موجود در قسمت href پارامتر زیر را اضافه کنید:
http://به طور مثال خروجی باید به صورت زیر باشد:<a href="http://facebook.com" target="_blank"></a>البته از mysql هم استفاده بشه
کاش سایت رو آپدیت می کردید
ممنون از سایتتون.
انشالا مطالب جدید هم بزارید ما بیشتر بیایم به سایتتون.
انصافا بهترین سایت توی وب فارسی هستید توی زمینه آموزش پایه ایی مبانی فرانت اند و بک اند من تقریبا از 5 سال پیش تا حالا سایتتون رو دنبال کردم و واقعا از تک تک مطالبتون لذت بردم .
یجورایی این سایت واسم نوستالژیک شده :)
ممنون
میشه به صورت متنی یه توضیح کوچیک بدید
این سایت های ایمیل دهنده مثل جیمیل، میهن میل و .. چطوری ایمیل ها رو دریافت می کنن؟
تو php باید دنبال چی بگردم؟ حقیقتش نمی دونم باید در مورد چی بگردم تا یه سیستم ایمیل دهی بسازم
میشه بگید دقیقا باید برای اینکه ایمیل های دریافتی رو نمایش بدیم برای کاربر باید دقیقا چیا رو یاد بگیرم؟
برای این منظور در PHP توابع درونی تعریف شده از جمله:
http://php.net/manual/en/book.imap.phpهمچنین می توانید سورس کلاس هایی که برای این کار نوشته شده را بررسی کنید:https://github.com/barbushin/php-imapشب برفی و زمستونی شما بخیر و خوشی انشاالله.
استاد این سایت برای ایجاد و ارسال ایمیل بصورت انبوه و کلی هستش: (البته فکر کنم میشه ایمیلهای زیبا و گرافیکی هم بفرستیم طبق شعار سایتشون)
https://www.mailerlite.com/یعنی اگه ما یه سایت ایجاد کنیم میتونیم با استفاده از خدمات این سایت نسبت به تایید حساب کاربری شخص اقدام کنیم؟؟ (منظورم اینه که مثلا شما تو سایت من ثبت نام میکنید! بعدش من برای اینکه عضویت شما تایید بشه از طریق خدمات این سایت یک ایمیل تایید برای شما میفرستم که شما پس از کلیک بر روی لینک عضو سایت ما بشین) اونوقت دیگه چه امکانات اضافه تری به ما میده؟متاسفانه تجربه استفاده از خدمات این سایت را نداریم! اما چنین سرویس هایی در کنار امکاناتی که ارائه می کنند، عموما در حالت رایگان کاربران را با محدودیت هایی مانند نمایش تبلیغات یا پائین بودن تعداد دریافت کننده ایمیل (در سایت مذکور عدد 1000 عنوان شده) نیز مواجه می کنند، هرچند احتمالا قابلیت تعامل بین دستورات (PHP, ASP و...) سرور شما و سرور سایت مذکور جهت ارسال داینامیک ایمیل وجود دارد، اما معمولا یک سایت حرفه ای نباید به سرویس های رایگان متکی باشد و بهتر است برای خود سرور ایمیل مجزا داشته باشد!
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.