<?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.'>' : '"'.$from_name.'" <'.$from.'>'; $recipient_params = empty($recipient_name) ? '<'.$recipient.'>' : '"'.$recipient_name.'" <'.$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);
?>
|