سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ امیر حسین عسگری
مشکل کد برای ارسال ایمیل
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۴ دی ۱۴۰۳

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 ساعت انجام میشود.

محسن موحد ۰۵ دی ۱۴۰۳، ۱۲:۰۲