آموزش ساخت اسکریپت تایید ایمیل

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

1 : در اولین مرحله یک دیتابیس ایجاد می کنیم و کدهای زیر را در آن ایمپورت میکنیم

CREATE TABLE IF NOT EXISTS `users` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`email` varchar(300) NOT NULL UNIQUE,
`password` varchar(300) NOT NULL,
`activation` varchar(300) NOT NULL UNIQUE,
`status` enum('0','1') NOT NULL DEFAULT '0',
PRIMARY KEY (`uid`)
)

2 : کد های HTML – یک فایل به اسم index.php می سازیم و کدهای زیر را در ابتدای آن قرار میدهیم

<form action="" method="post">
<label>Email</label>
<input type="text" name="email" class="input" autocomplete="off"/>
<label>Password </label>
<input type="password" name="password" class="input" autocomplete="off"/><br/>
<input type="submit" class="button" value="Registration" />
<span class='msg'><?php echo $msg; ?></span>
</form>

3 : یک فایل به اسم db.php ایجاد می کنیم و کدهای زیر را در آن قرار میدهیم . این فایل در واقع کانفیگ شما می باشد

<?php
define('DB_SERVER', 'www.vahabonline.ir');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'database');
$connection = @mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$base_url='http://www.youwebsite.com/email_activation/';
?>

4 : در فایل index.php خود کدهای زیر را در اولین خط قرار دهید . یعنی ابتدا کدهای زیر باشد و سپس کدهای html بالا

<?php
include 'db.php';
$msg='';
if(!empty($_POST['email']) && isset($_POST['email']) &&  !empty($_POST['password']) &&  isset($_POST['password']) )
{
// username and password sent from form
$email=mysqli_real_escape_string($connection,$_POST['email']);
$password=mysqli_real_escape_string($connection,$_POST['password']);
// regular expression for email check
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/';

if(preg_match($regex, $email))
{
$password=md5($password); // encrypted password
$activation=md5($email.time()); // encrypted email+timestamp
$count=mysqli_query($connection,"SELECT uid FROM users WHERE email='$email'");
// email check
if(mysqli_num_rows($count) < 1)
{
mysqli_query($connection,"INSERT INTO users(email,password,activation) VALUES('$email','$password','$activation')");
// sending email
include 'smtp/Send_Mail.php';
$to=$email;
$subject="Email verification";
$body='Hi, <br/> <br/> We need to make sure you are human. Please verify your email and get started using your Website account. <br/> <br/> <a href="'.$base_url.'activation/'.$activation.'">'.$base_url.'activation/'.$activation.'</a>';

Send_Mail($to,$subject,$body);
$msg= "Registration successful, please activate email.";
}
else
{
$msg= 'The email is already taken, please try new.';
}

}
else
{
$msg = 'The email you have entered is invalid, please try again.';
}

}
// HTML Part
?>

5 : دقت کنید در فایل index.php کد زیر تعریف شده است

include 'smtp/Send_Mail.php';

این به این معنی است که یک پوشه به اسم smtp بسازید و سپس یک فایل به نام Send_Mail.php بسازید و کدهای زیر را در آن قرار دهید

<?php
function Send_Mail($to,$subject,$body)
{
require 'class.phpmailer.php';
$from       = "from@yourwebsite.com";
$mail       = new PHPMailer();
$mail->IsSMTP(true);            // use SMTP
$mail->IsHTML(true);
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "tls://smtp.yourwebsite.com"; // SMTP host
$mail->Port       =  465;                    // set the SMTP port
$mail->Username   = "SMTP_Username";  // SMTP  username
$mail->Password   = "SMTP_Password";  // SMTP password
$mail->SetFrom($from, 'From Name');
$mail->AddReplyTo($from,'From Name');
$mail->Subject    = $subject;
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, $to);
$mail->Send();
}
?>

6 : سپس در کنار فایل index.php خود یک فایل به اسم activation.php بسازید و کدهای زیر را در آن قرار دهید

<?php
include 'db.php';
$msg='';
if(!empty($_GET['code']) && isset($_GET['code']))
{
$code=mysqli_real_escape_string($connection,$_GET['code']);
$c=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code'");

if(mysqli_num_rows($c) > 0)
{
$count=mysqli_query($connection,"SELECT uid FROM users WHERE activation='$code' and status='0'");

if(mysqli_num_rows($count) == 1)
{
mysqli_query($connection,"UPDATE users SET status='1' WHERE activation='$code'");
$msg="Your account is activated";
}
else
{
$msg ="Your account is already active, no need to activate again";
}

}
else
{
$msg ="Wrong activation code.";
}

}
?>
//HTML Part
<?php echo $msg; ?>

7 : در این مرحله فقط باید یک فایل .htaccess بسازید و مد ری رایت را فعال کنید و کدهای زیر را در آن قرار دهید

RewriteEngine On

RewriteRule ^activation/([a-zA-Z0-9_-]+)$ activation.php?code=$1
RewriteRule ^activation/([a-zA-Z0-9_-]+)/$ activation.php?code=$1

8 : در آخرین مرحله هم کدهای css اسکریپت رو قرار میدیم . یک فایل به اسم style.css بسازید و کدهای زیر را در آن قرار دهید

body
{
font-family: "Helvetica",Arial,sans-serif;
font-weight: 500;
color:#333;
}
label
{
width:100px;
display:block;
font-weight:bold;
color:#666666;
}
#main
{
margin:0 auto;
width:800px;
}
.input
{
padding:10px;
font-size:14px;
border:1px solid #999999;
width:200px;
margin-bottom:10px;
}
.button {
padding:10px;
background-color: #5fcf80 !important;
border-color: #3ac162 !important;
}
.msg
{
font-size:11px;
color:#666;
padding:10px;
}

به همین سادگی کار تمام است

حالا شما یک اسکریپت برای ویرفای ایمیل ساختید و میتونید به راحتی ازش استفاده کنید

همچنین میتونید اسکریپت رو به صورت کامل دانلود کنید

[aio_button align=”center” animation=”flash” color=”purple” size=”small” icon=”none” text=”دانلود اسکریپت تایید ایمیل” relationship=”dofollow” url=”http://vahabonline.ir/wp-content/uploads/2016/03/email_activation2.zip”]

در فایل ضمیمه شده بالا در پوشه smtp چندین فایل php قرار داده ایم و این برای این بوده است که شاید شما نخواهید فقط از smtp استفاده کنید شاید بخواهید با http یا pop3 نیز ارسال کنید که می توانید از آنها نیز استفاده نمایید

امیدواریم این آموزش مورد پسند و رضایت شما عزیزان واقع شده باشد . در صورتی که سوال یا مشکلی داشتید از طریق بخش نظرات همین مطلب با ما در ارتباط باشید

ممکن هست به کارتون بیاد

درباره نویسنده : وهاب سید چورته

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

  1. با سلام
    جناب وهاب از این که بخش اموزشی رو راه اندازی کردید واقعا خوشحالم و امیدوارم در این بخش کم لطفی نشه چون خیلی مورد استقبال قرار خواهد گرفت اگه مطالب مفید باشه مثل این پست
    فقط اگه ممکنه کامل ترش کنید درواقع چطور این اسکریپتی که ایجاد کردیم رو به whmcs متصل کنیم که اول ایمیل کاربری که داره ثبت نام میکنه تایید بشه و بعد بتونه از حساب کاربریش استفاده کنید
    اگه ممکنه این بخش رو کامل توضیح بدید که کمک بزرگی به افرادی مثل من که این امکانانو میخوان میکنید باتشکر ….

    1. سلام محمد رضا جان
      ممنونم از توجهتون . انشالله از این پس هر یک یا دو روز در میون آپدیت انجام میشه
      در مورد اینکه چطور به whmcs وصل کنیم ساده ترین کار و حالت اینه که شما یک کوچولو سیستم رو عوض کنید . اما چطور ؟
      کافیه فایل register.php رو تغییر بدید و به جاش در صفحه اول ایمیل کاربر رو تایید کنید . بعد در پیغام تایید بیاید فرم عضویت رو قرار بدید
      یعنی اول کار کاربر ایمیل تایید شده بزنه و بعد از تایید بتونه فرم ثبت نام رو ببینه . به همین سادگی به whmcs خودتون وصل میکنید
      باز هم کمکی خواستید در خدمتتون هستیم

  2. با سلام
    جناب وهاب از این که بخش اموزشی رو راه اندازی کردید واقعا خوشحالم و امیدوارم در این بخش کم لطفی نشه چون خیلی مورد استقبال قرار خواهد گرفت اگه مطالب مفید باشه مثل این پست
    فقط اگه ممکنه کامل ترش کنید درواقع چطور این اسکریپتی که ایجاد کردیم رو به whmcs متصل کنیم که اول ایمیل کاربری که داره ثبت نام میکنه تایید بشه و بعد بتونه از حساب کاربریش استفاده کنید
    اگه ممکنه این بخش رو کامل توضیح بدید که کمک بزرگی به افرادی مثل من که این امکانانو میخوان میکنید باتشکر ….

    1. سلام محمد رضا جان
      ممنونم از توجهتون . انشالله از این پس هر یک یا دو روز در میون آپدیت انجام میشه
      در مورد اینکه چطور به whmcs وصل کنیم ساده ترین کار و حالت اینه که شما یک کوچولو سیستم رو عوض کنید . اما چطور ؟
      کافیه فایل register.php رو تغییر بدید و به جاش در صفحه اول ایمیل کاربر رو تایید کنید . بعد در پیغام تایید بیاید فرم عضویت رو قرار بدید
      یعنی اول کار کاربر ایمیل تایید شده بزنه و بعد از تایید بتونه فرم ثبت نام رو ببینه . به همین سادگی به whmcs خودتون وصل میکنید
      باز هم کمکی خواستید در خدمتتون هستیم

  3. سلام
    شرکت ما نیاز داره که مشتریان قبل از استفاده از خدمات ایمیل شون رو تایید کنن،فقط هم تایید مهمه ،لازم نیست فرم خاصی رو تکمیل کنن،میتونید راهنماییم کنید؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *