رفتن به مطلب
  • 0

ارسال ایمیل فعالسازی و فعال شدن حساب کاربری


fjghomi@gmail.com

سوال

سلام 

میخوام کاربرایی که ثبت نام میکنن توی برنامم ایمیلی که وارد میکنن ، با php به همون ایمیل یه لینک فعالسازی بفرستم که  وقتی روی لینک ارسال شده کلیک کردن نام کاربری اونا فعال بشه. هاست و ایمیل دارم. نمیدونم چطور باید ایمیل فعالسازی بفرستم. مرسی اگه کمک کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

با کلاس پیشفرض mail نیاز به وارد کردن پسورد نیست فقط ، آدرس فرستنده وارد بشه (آدرس ایمیل ساخته شده تو سی پنل یا دایرکت ادمین)

با کلاس PHPMailer از طریق پروتکل SMTP نیاز به وارد کردن مشخصات لازم هست.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اگر پسوورد نمیخواد پس شما میدونید چرا این کد من جواب نمیده. ایمیل ارسال نمیکنه؟ یا کدی سراغ دارید که جواب بده 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

وقتی ایمیل ارسال نمیشه

  • یا درست کانفیگ نشده
  • نیاز به کانفیگ فایل php.ini هست
  • یا پورت اتصال به ایمیل تو سرور باز نیست یا یچیز دیگس
  • یا ....

اگه نشد از PHPMailer استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال ایمیل می تونید از mail یا کلاس PHPMailer

  1. PHP: mail - Manual
  2. GitHub - PHPMailer/PHPMailer: The classic email sending library for PHP

بعداز ارسال ایمیل هم کار مشخصه

  1. اول ساخت تیبل کاربران
  2. ساخت سیشن یا یه رشته با هش ها
  3. ذخیره داخل دیتابیس
  4. ارسال ایمیل
  5. کاربر: کلیک روی لینک ارسالی
  6. هدایت کاربر به سمت سرور با GET
  7. خواندن این سیشن ساخته شده اگه برابر بود با مقداری که تو تیبل ذخیره شده (اکتیو کردن حساب کاربر)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

من این کد رو توی انجمن پیدا کردم که از php mail استفاده کرده. توی این کد، mail server ، ایمیلی که توی هاست ساختم ، اسم کاربری و پسوورد رو کجا  باید معرفی کنم؟

$host = "mysql16.000webhost.com";
$db = "a1438837_db";
$user = "a1438837_id";
$pw = "a1438837";

$con = mysql_connect($host,$user,$pw) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");

$action = $_GET["Action"];

switch ($action) {
    case "Register":
        $user = mysql_real_escape_string($_GET["UserID"]);
        $email = mysql_real_escape_string($_GET["Email"]);
        $password = mysql_real_escape_string($_GET["Password"]);
        $fullname = mysql_real_escape_string($_GET["FullName"]);
        $location = mysql_real_escape_string($_GET["Location"]);
      
        $q = mysql_query("SELECT * FROM tbl_member WHERE email = '$email' or user_id = '$user'");
        $count = mysql_num_rows($q);
            
        if ($count == 0)
            {          
            $randomnumber = mt_rand(111111, 999999);
            $res = mysql_query("INSERT INTO tbl_member (user_id, user_name, pass_word, email, location, status, reg_no, online) VALUES ('$user', '$fullname', '$password', '$email', '$location', 'M', $randomnumber, 'N')");

            $to      = $email;
            $subject = 'Your registration';
            $message = 'Hi ' . $user . ',' . "\r\n" . 'Please click on this link to finish the registration process: http://kbase.herobo.com/signup.php?Action=Mail&Mail=' . $email . '&RegNo=' . $randomnumber;
            $message = wordwrap($message, 70, "\r\n");
            $headers = 'From: [email protected]' . "\r\n" . 'Reply-To: [email protected]' . "\r\n" . 'X-Mailer: PHP/' . phpversion();

            mail($to, $subject, $message, $headers);
            // Notify me of new sign up
            mail('[email protected]', 'New member', 'New member (' . $user . ') has signed up using our demo app.', $headers);
            print json_encode ("Mail");
            }          
        else
            print json_encode ("MailInUse");      
            break;

    case "Mail":
        $regno = $_GET["RegNo"];
        $mail=$_GET["Mail"];
      
        $q = mysql_query("SELECT * FROM tbl_member WHERE email = '$mail' and reg_no = $regno and status = 'M'");
        $count=mysql_num_rows($q);
      
        if ($count == 0)
            {
            print json_encode ("This registration is not valid / mail address is already registered");
            }          
        else {
            $res=mysql_query("UPDATE tbl_member SET status = 'R' WHERE email = '$mail' and reg_no =$regno");
            echo("$mail is registered now :-)");
            }
        break;
    default:
            echo("Unauthorized action! Please use the app to register.");
}

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...