در فرم های عضویت یا فرم های تماس شخصی سازی شده در اسکریپت ها، یکی از اقدامات امنیتی جهت جلوگیری از ارسال ایمیل های اسپم، بررسی اعتبار آدرس ایمیل وارد شده است. در زبان PHP و توابعی که در آن در دسترس هستند می توانیم با استفاده از تابع preg_match
به راحتی یک الگو و استانداردی تعیین کنیم تا فیلد مربوط به آدرس ایمیل پیش از ارسال ایمیل توسط آن بررسی شود. در این تاپیک از انجمن بیتاک همراه ما باشید!

اولین نوع سنجش اعتبار آدرس ایمیل، بررسی فرمت وارد شده است. در این حالت ما می توانیم صرفا بررسی کنیم که کاربر آدرس ایمیل وارد شده را به صورت یک الگوی استاندارد یعنی بطور مثال betalk@gmail.com
باشد. این حالت بیشتر مناسب زمانی است که ما فقط بخواهیم در یک فرم اختصاصی کدنویسی شده، فیلد ایمیل را کمی بیشتر کنترل کنیم تا از ورود مقادیر نامناسب در این فیلد جلوگیری کنیم.
$email = $_POST['email'];
if(preg_match("~([a-zA-Z0-9!#$%&'*+-/=?^_`{|}~])@([a-zA-Z0-9-]).([a-zA-Z0-9]{2,4})~",$email)) {
echo 'ایمیل معتبر است';
} else{
echo 'آدرس وارد شده معتبر نیست';
}
در کد بالا، فیلد email
بررسی شده و مقدار وارد شده در آن بر اساس الگوی تعریف شده داخل کد بررسی و مقایسه خواهد شد و در صورتی که آدرس ایمیل به صورت test@example.com
نباشد فیلد را نامعتبر خواهد خواند.
در حالت دیگر، ما می توانیم آدرس ایمیل وارد شده را محدود به یک سرویس دهنده خاص کنیم. برای مثال اگر قصد دارید در یک فرم تنها ایمیل هایی که از سرویس gmail.com
هستند استفاده شود، می توانید بجای کد بالا، چنین کدی را استفاده کنید:
$email = $_POST['email'];
if(preg_match("~([a-zA-Z0-9!#$%&'*+-/=?^_`{|}~])@gmail.([a-zA-Z0-9]{2,4})~",$email)) {
echo 'جیمیل معتبر است';
} else{
echo 'آدرس وارد شده جیمیل نیست';
}