انجمن


مشکل در ارسال رمز برای کاربران و بازیابی رمز  (۶ نوشته)

  • niutish

    آفلاین
    عضو
    تعداد نوشته‌ها: ۹
    تشکر شده: ۱ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۲ مرداد ۱۳۸۹ - ۰۵:۲۰

    سلام

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

    پست الکترونیک نمی‌تواند فرستاده شود.
    دلیل ممکن: میزبان شما ممکن است قابلیت mail() را از کار انداخته باشد

    ممنون میشم کمکم کنید .

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    sarbanha
  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۲ مرداد ۱۳۸۹ - ۰۹:۱۵

    به زبان فارسی داره می‌گه "میزبان شما ممکن است قابلیت mail() را از کار انداخته باشد". بهتره در ابتدا با مدیر میزبانی سایت‌تون صحبت کنین.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    niutish - Saeed Fard - Araz
  • sarbanha

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳
    # نوشته شده: ۱۳ سال پیش
    ۲۹ بهمن ۱۳۸۹ - ۱۳:۵۹

    به نظر من این مشکل مربط به وردپرس است! وقتی که در خواست ارسال رمز جدید میکنم ایمیل ازسال میشود یعنی تابع مربوطه کار می کند اما وقتی که بر روی لینکی که وردپرس ایمیل کرده کلیک میکنم دقیقاً همین پیغام رو دریافت میکنم.

  • Saeed Fard

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۹۸۲
    تشکر شده: ۱۶۱۵ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۹ بهمن ۱۳۸۹ - ۲۰:۰۶

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Soheil-Green - Araz
  • sarbanha

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳
    # نوشته شده: ۱۳ سال پیش
    ۴ اسفند ۱۳۸۹ - ۱۰:۳۱

    سعید خان من هم میدونم که اگه تابع mail بسته باشه ایمیل ارسال نمیشه! اما سوال اینجاست که اگه mail بسته شده که همون ایمیل اول که لینک رو می فرسته هم نباید بیاد! ضمناً من یک فایل PHP نوشتم و فانکشن mail رو تست کردم که به خوبی کار میکرد!

    یک بار دیگه میگم!!! درخواست پسورد جدید رو که میدم ایمیل اول میاد یعنی فانکشن mail کار میکنه، بعد لینک که به ایمیل ارسال شده رو که میزنم پیغام زیر رو میده:

    پست الکترونیک نمی‌تواند فرستاده شود.
    دلیل ممکن: میزبان شما ممکن است قابلیت mail() را از کار انداخته باشد

    اگه مشکل از mail هستش یا از host که دیگه همون اولیه هم نباید بیاد! پس این بی نوا وردپرس یک جایی یه کاری میکنه که این اتفاق میوفته!

    کسی اگه این مشکل رو بر خورده و حلش کرده ممنون میشم نظر بده.

  • sarbanha

    آفلاین
    عضو
    تعداد نوشته‌ها: ۳
    # نوشته شده: ۱۳ سال پیش
    ۴ اسفند ۱۳۸۹ - ۱۱:۳۹

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

    در فایل wp-login.php دو تا فانکشن وجود داره به نامهای retrieve_password و reset_password و در هر دو فانکشن از wp_mail استفاده شده، در فانکشن retrieve ایمیل ارسال میگردد در حالیکه وقتی از فانکشن reset استفاده میکنه نمیتونه ایمیل بفرسته!!! یعنی اگه روی لینکی که به پست الکترونیکی شما ارسال شده کلیک کنین کد فانکشن reset اجرا میشه که خطا میگیره!!! کد اصلی که اشکال میگیره در فانکشن reset وجود داره که این پایین آوردم:

    $title = sprintf( __('[%s] Your new password'), $blogname );
    
    	$title = apply_filters('password_reset_title', $title);
    	$message = apply_filters('password_reset_message', $message, $new_pass);
    
    	if ( $message && !wp_mail($user->user_email, $title , $message) )
      		wp_die( __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function...') );

    من با سعی و خطا به این نتیجه رسیدم که یک اشکالی در پردازش title هستش! سطر اول کد بالا رو ببینین [s%] جاییه که مشکل رو حل میکنه! به خاطر همین جای کروشه ها رو با پرانتز عوض کردم و مشکل کلاً حل شد!!!

    حالا چرا!!! نمیدونم!

درباره‌ی این موضوع