سؤال

أحاول تنفيذ حزمة Mail_Queue الخاصة بـ PEAR لوضع بعض رسائل البريد الإلكتروني في قائمة الانتظار لتطبيق ويب.لقد استخدمت الوثائق في http://pear.php.net/manual/en/package.mail.mail-queue.mail-queue.tutorial.php لكتابة نص اختبار صغير.

مشكلتي هي أنه لا يتم تحديث قاعدة البيانات، ولا تنتج أخطاء.

يحرر

// mail_queue db options
$db_options['type'] = 'mdb2';
$db_options['dsn'] = DSN;
$db_options['mail_table'] = 'mail_queue';

// mail_queue sending options
$mail_options['driver'] = 'smtp';
$mail_options['host'] = 'smtp.gmail.com';
$mail_options['port'] = 25;
$mail_options['localhost'] = $host;
$mail_options['auth'] = true;
$mail_options['user'] = MAILUSER;
$mail_options['pass'] = MAILPASS;

require "Queue.php";

$mail_queue =& new Mail_Queue($db_options,$mail_options);

$from = 'someone@domain.ca';
$to = 'martin@starmedia.ca';
$message = 'This is a test';

$headers = array('From' => $from,
    'To' => $to,
    'Subject' => 'Someone has sent you an email!');

$mime =& new Mail_mime();
$mime->setTXTBody($message);
$body = $mime->get();

$headers = $mime->headers($headers,true);
print $mail_queue->put($from,$to,$headers,$body);

وهذا ينتج الخطأ Mail Queue Error: Cannot connect to database .ومع ذلك قمت بالتحقق من جميع معلومات الاتصال وهي صحيحة.وأيضا إضافة if (PEAR::isError($mail)) die($mail->getMessage()); لا تنتج أي أخطاء!

هل كانت مفيدة؟

المحلول

حسنًا، أخيرًا أصبح ملف قائمة انتظار البريد الخاص بي يعمل.فيما يلي الخطوات التي اتخذتها لتشغيله:

1.تمكين رسائل الخطأ

لتمكين معالجة الأخطاء، أضفت هذا المقتطف:

function handle_pear_error($e) {
    die($e->getMessage() . ' ' . print_r($e->getUserInfo(), true));
}
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'handle_pear_error');

بمجرد إضافة هذا، قمت بإعادة تحميل الصفحة وظهر لي الخطأ التالي:

Call to undefined function: MDB2_Driver_mysql::_isNewLinkSet()

2.قم بتحديث برنامج تشغيل MySQL الخاص بـ MDB2

لقد بحثت عن هذا الخطأ ووجدت أنه عادةً ما يكون نتيجة لعدم وجود مكتبة MDB2 محدثة أو برنامج تشغيل MySQL الخاص بها.

لذلك قمت بتحديث كليهما وهو يعمل!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top