ধাপে ধাপ: প্রথমে যেখানে ত্রুটি বার্তা উপস্থিত হবে সেই ফাইলটি সন্ধান করুন। আমি ফাইলগুলিতে অনুসন্ধানের জন্য নোটপ্যাড ++ এবং CTRL+ Fকমান্ড ব্যবহার করি । ত্রুটি বার্তার প্রথম কয়েকটি শব্দ অনুসন্ধান করা ভাল ধারণা, কারণ কিছু ত্রুটি বার্তা বিভিন্ন বার্তায় একত্রিত হয়।
আপনার ত্রুটি বার্তা উপস্থিত wp-login.phpএবং পবিত্র ভাগ্য কেবল সেখানে রয়েছে। সুতরাং আসুন দেখে নেওয়া যাক কেন এই ত্রুটি ঘটতে পারে।
if ( $message && !wp_mail($user_email, $title, $message) )
দুটি শর্ত আছে। $messageসত্য হতে হবে (খালি স্ট্রিং নয়, মিথ্যা নয়, নাল নয়, ইত্যাদি)। এবং wp_mail()মিথ্যা ফিরে না আসা উচিত।
উপরের এক লাইনটিতে একটি ফিল্টার রয়েছে $message = apply_filters('retrieve_password_message', $message, $key);, সুতরাং এটি সম্ভব যে কোনও প্লাগইন (বা থিম) এই ফিল্টারটি ব্যবহার করে এবং সত্য নয় (খালি স্ট্রিং, মিথ্যা, নাল, ইত্যাদি) এমন কোনও মান দেয়।
তবে এটি কাজ করা হচ্ছে কিনা wp_mail()তা যাচাই করা অনেক সহজ । নিজেকে একটি পরীক্ষা মেল প্রেরণের জন্য একটি ছোট প্লাগইন লিখুন:
<?php
/**
* Plugin Name: Stackexchange Testplugin
* Plugin URI: http://yoda.neun12.de
* Description: Send me a test email
* Version: 0.1
* Author: Ralf Albert
* Author URI: http://yoda.neun12.de
* Text Domain:
* Domain Path:
* Network:
* License: GPLv3
*/
namespace WordPressStackexchange;
add_action( 'init', __NAMESPACE__ . '\plugin_init' );
function plugin_init(){
$to = 'your-email-adress@some-domain.tld';
$subject = 'Testemail';
$message = 'FooBarBaz Testmail is working';
wp_mail( $to, $subject, $message );
}
(এটি পিএইচপি 5.3 কোড PH আপনি যদি পিএইচপি 5.2 চালাচ্ছেন তবে নাম স্থানের জিনিসগুলি সরিয়ে দিন)
সক্রিয়করণের সাথে সাথেই প্লাগইনটিতে একটি টেস্টমেল প্রেরণ করা উচিত। যদি তা না হয় তবে কিছু ব্যাকএন্ড পৃষ্ঠাগুলি কল করা (যেমন ড্যাশবোর্ড) এটি করা উচিত।
যদি টেস্টমেল না আসে, তবে আপনার সম্ভবত সমস্যা আছে wp_mail()। সুতরাং ডিবাগিংটি চালু করুন:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
@ini_set( 'display_errors',1 );
এই কোডটি আপনার মধ্যে রাখুন wp-config.phpএবং নিজেকে একটি টেস্টমেল পাঠানোর চেষ্টা করুন। এখন আপনার কিছু ত্রুটি বার্তা পাওয়া উচিত এবং সেগুলিও wp-content/debug.logলগ ইন করা উচিত (প্লাগইন এবং / বা থিমগুলির কারণে আরও ত্রুটি থাকলে ডিবাগ লগটি খুব বড় হতে পারে)।
এই মুহুর্তে, আপনি যদি wp_mail()ব্যর্থ হয় এবং যদি তা হয় তবে কেন ভাল তথ্য পেয়েছিলেন । যদি wp_mail()সঠিকভাবে কাজ করে এবং টেস্টমেল উপস্থিত হয়, শীর্ষে ফিরে যান এবং কেন $messageসত্য নয় তা খুঁজে বার করুন ।
আপনার যদি সমস্যা থাকে তবে wp_mail()মনে রাখবেন যে wp_mail()পিএইচপি mail()ফাংশন ব্যবহার করে না । ওয়ার্ডপ্রেস একটি পিএইচপি ক্লাস ( পিএইচপিএমেলার ) ব্যবহার করে। হয়তো আপনার কেবল সেন্ডমেলের পরিবর্তে এসএমটিপি ব্যবহারের জন্য একটি প্লাগইন প্রয়োজন । অথবা সমস্যাটি অন্য জায়গায় অবস্থিত। আমরা জানি না। তদন্ত করতে হবে।