<?php require_once('Mail/Queue.php'); $container_options = array( 'type' => 'db', 'database' => 'dbname', 'phptype' => 'mysql', 'username' => 'root', 'password' => '', 'mail_table' => 'mail_queue' ); //optionally, a 'dns' string can be provided instead of db parameters. //look at DB::connect() method or at DB or MDB docs for details. //you could also use mdb container instead db $mail_options = array( 'driver' => 'smtp', 'host' => 'your_smtp_server.com', 'port' => 25, 'auth' => false, 'username' => '', 'password' => '' ); $mail_queue =& new Mail_Queue($container_options, $mail_options); * ***************************************************************** * // TO ADD AN EMAIL TO THE QUEUE * ***************************************************************** $from = 'user@server.com'; $from_name = 'admin'; $recipient = 'recipient@other_server.com'; $recipient_name = 'recipient'; $message = 'Test message'; $from_params = empty($from_name) ? '"'.$from_name.'" <'.$from.'>' : '<'.$from.'>'; $recipient_params = empty($recipient_name) ? '"'.$recipient_name.'" <'.$recipient.'>' : '<'.$recipient.'>'; $hdrs = array( 'From' => $from_params, 'To' => $recipient_params, 'Subject' => "test message body" ); $mime =& new Mail_mime(); $mime->setTXTBody($message); $body = $mime->get(); $hdrs = $mime->headers($hdrs); // Put message to queue $mail_queue->put( $from, $recipient, $hdrs, $body ); // Also you could put this msg in more advanced mode $seconds_to_send = 3600; $delete_after_send = false; $id_user = 7; $mail_queue->put( $from, $recipient, $hdrs, $body, $seconds_to_send, $delete_after_send, $id_user ); // TO SEND EMAILS IN THE QUEUE // How many mails could we send each time $max_ammount_mails = 50; $mail_queue =& new Mail_Queue($container_options, $mail_options); $mail_queue->sendMailsInQueue($max_ammount_mails); ?> |