🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ رومینا اقلیما
مشکل کد برای ارسال ایمیل
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۴ دی ۱۴۰۳

add_action('phpmailer_init', 'configure_smtp');

function configure_smtp($phpmailer) {
    // اطلاعات SMTP را تنظیم کنید
    $phpmailer->isSMTP();
    $phpmailer->Host       = 'mail.riocode.ir'; // سرور SMTP
    $phpmailer->SMTPAuth   = true; // فعال کردن احراز هویت SMTP
    $phpmailer->Port       = 25; // پورت SMTP (معمولاً 587 یا 465)
    $phpmailer->Username   = 'info9@riocode.ir'; // ایمیل
    $phpmailer->Password   = '-LHd$CkvJ]aQ'; // رمز عبور ایمیل
    $phpmailer->SMTPSecure = 'tls'; // نوع رمزنگاری (tls یا ssl)
    $phpmailer->From       = 'your_email@yourdomain.com'; // آدرس ارسال‌کننده
    $phpmailer->FromName   = 'گروه طراحی ریوکد';
}


$to      = 'bartoshkorekriokorek@gmail.com';
$subject = 'بازیابی کلمه عبور';
$message = 'لینک بازیابی کلمه عبور';
$headers = array('Content-Type: text/html; charset=UTF-8');

if (wp_mail($to, $subject, $message, $headers)) {
    echo 'Email sent successfully!';
} else {
    echo 'Failed to send email.';
}
این کد را خود chat gpt داد بهم اینو داخل function قرار میدهم اجرا نمیشود طیق آموزش پیش میروم باز جواب نمیده 

 

image-khrs5vup.png

 

بعد از رفرش کردن صفحه

رومینا اقلیما ۰۴ دی ۱۴۰۳، ۱۲:۰۴

دستور مود دیباگ رو اضافه کنید تا ببینید علت اصلی خطا چیه: (داخل تابع)

$phpmailer->SMTPDebug = 2;
$phpmailer->Debugoutput = 'html';

و داخل یک try/catch قرار بدید. در نهایت پس از ارسال ایمیل، خطارو چاپ کنید:

try {
    $to = 'bartoshkorekriokorek@gmail.com';
    $subject = '';
    $message = '';
    $headers = array('Content-Type: text/html; charset=UTF-8');
    $result = wp_mail($to, $subject, $message, $headers);
    if (!$result) {
        global $phpmailer;
        if (isset($phpmailer->ErrorInfo)) {
            echo "Error phpmailer: " . $phpmailer->ErrorInfo;
        }
    } else {
        echo "Email was sent!";
    }
} catch (Exception $e) {
    echo "Error: " . $e->getMessage();
}

دستور زیرو هم داخل فایل کانفیگ بذارید:

define('SMTP_DEBUG', true);

ضمنا برای tls از پورت 587 استفاده کن و اگر خطا داد روی ssl و پورت 465 تنظیم کن.

اگر روی هاست دارید ارسال میکنید، تیکت بدید پشتیبانی و کمک بگیرید. این موضوعات در سطح کد نیست.

استاد ماندیس بحرینی ۰۴ دی ۱۴۰۳، ۱۲:۴۲

$phpmailer->SMTPDebug = 2; $phpmailer->Debugoutput = 'html';

 

try {    $to = 'bartoshkorekriokorek@gmail.com';    $subject = '';    $message = '';    $headers = array('Content-Type: text/html; charset=UTF-8');    $result = wp_mail($to, $subject, $message, $headers);    if (!$result) {        global $phpmailer;        if (isset($phpmailer->ErrorInfo)) {            echo "Error phpmailer: " . $phpmailer->ErrorInfo;        }    } else {        echo "Email was sent!";    } } catch (Exception $e) {    echo "Error: " . $e->getMessage(); }

 

این دوتا کد دقیقا داخل کدوم فایل قرار بدهم 
 

رومینا اقلیما ۰۴ دی ۱۴۰۳، ۱۵:۰۵

میشه یک خواهش کنم شماره تماس ارسال کنید یا آیدی تلگرام این مورد را حل کنیم

رومینا اقلیما ۰۴ دی ۱۴۰۳، ۱۶:۱۰

در پاسخ توضیح دادم،
دو تا کد اول رو داخل تابع(configure_smtp) باید بنویسید و مابقی کدهارو در بیرون تابع، همونطور که خودتون هم کدو نوشته بودید.

نهایتا اگر نمیتونید، کل پروژتون رو بطور کامل زیپ کنید(بهمراه دیتابیس یعنی اکسپورت بگیرید و داخل زیپ قرار بدید) و یکجا مثل google drive آپلود کن و اینجا لینکشو بذار تا من بررسی کنم. اطلاعات ارسال ایمیل رو هم داخل کد بذارید باشه.

گویا تنها راه تستو بررسی همین هست که بنده این کارو برای شما انجام بدم.

پاسخ به سؤالات ظرف 24 ساعت انجام میشود.

استاد ماندیس بحرینی ۰۵ دی ۱۴۰۳، ۱۲:۰۲