cvs: peardoc /en/package/mail mail-queue.xml /en/package/mail/mail-queue/mail-queue deletemail.xml factorysendmail.xml get.xml mail_queue.xml put.xml
sendmail.xml sendmailbyid.xml sendmailsinqueue.xml tutorial.xml

From: Date: Thu, 04 Mar 2004 23:41:55 +0000
Subject: cvs: peardoc /en/package/mail mail-queue.xml /en/package/mail/mail-queue/mail-queue deletemail.xml factorysendmail.xml get.xml mail_queue.xml put.xml
sendmail.xml sendmailbyid.xml sendmailsinqueue.xml tutorial.xml
Groups: php.pear.doc 
Request: Send a blank email to pear-doc+get-2856@lists.php.net to get a copy of this message
gurugeek Thu Mar 4 18:41:55 2004 EDT Added files: /peardoc/en/package/mail mail-queue.xml /peardoc/en/package/mail/mail-queue/mail-queue deletemail.xml factorysendmail.xml get.xml mail_queue.xml put.xml sendmail.xml sendmailbyid.xml sendmailsinqueue.xml tutorial.xml Log: Mail-queue Initial Documentation, tutorial provided by Thomas Seinfert ;)

http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue.xml +++ peardoc/en/package/mail/mail-queue.xml <!-- $Revision: 1.1 $ --> <sect1 id="package.default.mail-queue"> <title>Mail_Queue</title> <refentry id="package.default.mail-queue.mail-queue-summary"> <refnamediv> <refname>Class Summary <classname>Mail_Queue</classname></refname> <refpurpose>Mail_Queue - base class for mail queue managment.</refpurpose> </refnamediv> <refsect1> <title>Mail_Queue - base class for mail queue managment.</title> This class allows you to queue mails for later delivery. </refsect1> <refsect1> <title>Class Trees for <classname>Mail_Queue</classname></title> <para> <itemizedlist> <listitem><para> Pear <itemizedlist> <listitem><para> Mail_Queue </para></listitem> </itemizedlist> </para></listitem> </itemizedlist> </para> </refsect1> </refentry> &package.default.mail-queue.mail-queue.tutorial; &package.default.mail-queue.mail-queue.mail-queue; &package.default.mail-queue.mail-queue.deletemail; &package.default.mail-queue.mail-queue.factorysendmail; &package.default.mail-queue.mail-queue.get; &package.default.mail-queue.mail-queue.put; &package.default.mail-queue.mail-queue.sendmail; &package.default.mail-queue.mail-queue.sendmailbyid; &package.default.mail-queue.mail-queue.sendmailsinqueue; </sect1> <!-- Generated by phpDocumentor v 1.3.0RC2 http://www.phpdoc.org --> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/deletemail.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/deletemail.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/deletemail.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.deletemail"> <refnamediv> <refname><function>Mail_Queue::deleteMail</function></refname> <refpurpose>Delete a mail from queue.</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>boolean <function>Mail_Queue::deleteMail</function></funcdef> <paramdef>integer <parameter>$id</parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.deletemail.desc"> &title.desc; Deletes a mail from the queue by identifier. </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.deletemail.param"> &title.param; <para> <variablelist> <varlistentry> <term> &type.int; <parameter>$id</parameter> </term> <listitem> <para> Mail identifier. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.deletemail.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.deletemail.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/factorysendmail.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/factorysendmail.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/factorysendmail.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.factorysendmail"> <refnamediv> <refname><function>Mail_Queue::factorySendMail</function></refname> <refpurpose>Creates the necessary Mail object.</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>void <function>Mail_Queue::factorySendMail</function></funcdef> <paramdef></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.factorysendmail.desc"> &title.desc; Creates the necessary Mail object. </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.factorysendmail.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.factorysendmail.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/get.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/get.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/get.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.get"> <refnamediv> <refname><function>Mail_Queue::get</function></refname> <refpurpose>Get next mail from queue.</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>object <function>Mail_Queue_Container::get</function></funcdef> <paramdef></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.get.desc"> &title.desc; Get next mail from queue. Will preload the queue when called for the first time. </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.get.returns"> &title.returns; <para> <emphasis>returns</emphasis>Mail_Queue_Body object </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.get.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.get.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/mail_queue.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/mail_queue.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/mail_queue.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.mail-queue"> <refnamediv> <refname>constructor <function>Mail_Queue::Mail_Queue</function></refname> <refpurpose>Mail_Queue constructor</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>mixed constructor <function>Mail_Queue::Mail_Queue</function></funcdef> <paramdef>array <parameter>$container_options</parameter></paramdef> <paramdef>array <parameter>$mail_options</parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.mail-queue.desc"> &title.desc; Creates a new mail queue object to store mails in, fetch mails from and send mails with. </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.mail-queue.param"> &title.param; <para> <variablelist> <varlistentry> <term> &type.array; <parameter>$container_options</parameter> </term> <listitem> <para> Array of container (mail storage) options. See tutorial for details. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.array; <parameter>$mail_options</parameter> </term> <listitem> <para> Array of mailer options. See tutorial for details. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1> <programlisting role="php"> <![CDATA[ <?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); ?> ]]> </programlisting> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.mail-queue.returns"> &title.returns; <para> <emphasis>returns</emphasis>True on success else pear error class. </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.mail-queue.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.mail-queue.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/put.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/put.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/put.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.put"> <refnamediv> <refname><function>Mail_Queue::put</function></refname> <refpurpose>Put a new mail into queue.</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>bool <function>Mail_Queue::put</function></funcdef> <paramdef>string <parameter>$from</parameter></paramdef> <paramdef>string <parameter>$to</parameter></paramdef> <paramdef>array <parameter>$hdrs</parameter></paramdef> <paramdef>array <parameter>$body</parameter></paramdef> <paramdef>integer <parameter> <optional>$sec_to_send = 0</optional></parameter></paramdef> <paramdef>bool <parameter> <optional>$delete_after_send = &true;</optional></parameter></paramdef> <paramdef>integer <parameter> <optional>$id_user = MAILQUEUE_SYSTEM</optional></parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.put.desc"> &title.desc; <para>Injects a new mail into the mail queue.</para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.put.param"> &title.param; <para> <variablelist> <varlistentry> <term> &type.string; <parameter>$from</parameter> </term> <listitem> <para> Sender e-mail address. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.string; <parameter>$to</parameter> </term> <listitem> <para> Recipient e-mail address. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.array; <parameter>$hdrs</parameter> </term> <listitem> <para> Array of mail headers as returned by Mail_Mime::headers(). </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.array; <parameter>$body</parameter> </term> <listitem> <para> Mail body array as returned by Mail_Mime::get(). </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.mixed; <parameter>$sec_to_send</parameter> </term> <listitem> <para> Optional - Seconds to pass before delivery is attempted. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.mixed; <parameter>$delete_after_send</parameter> </term> <listitem> <para> Optional - Whether or not to delete the mail after delivery. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.int; <parameter>$id_user</parameter> </term> <listitem> <para> Optional - user ID. Stored in queue and readable from mail body object with getIdUser() at a later point. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.put.returns"> &title.returns; <para> <emphasis>returns</emphasis> True on success </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.put.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.put.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/sendmail.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/sendmail.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/sendmail.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.sendmail"> <refnamediv> <refname><function>Mail_Queue::sendMail</function></refname> <refpurpose>Sends mail object returned by Mail_Queue::get()</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>mixed <function>Mail_Queue::sendMail</function></funcdef> <paramdef>object MailBody <parameter>$mail</parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.sendmail.desc"> &title.desc; Sends mail object returned by Mail_Queue::get(). </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmail.param"> &title.param; <para> <variablelist> <varlistentry> <term> &type.object MailBody; <parameter>$mail</parameter> </term> <listitem> <para> Mail object. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmail.returns"> &title.returns; <para> <emphasis>returns</emphasis> True on success else pear error class </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmail.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmail.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/sendmailbyid.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/sendmailbyid.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/sendmailbyid.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.sendmailbyid"> <refnamediv> <refname><function>Mail_Queue::sendMailById</function></refname> <refpurpose>Send a specific mail.</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>bool <function>Mail_Queue::sendMailById</function></funcdef> <paramdef>integer <parameter>$id</parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailbyid.desc"> &title.desc; Sends a single mail from the queue specified by $id. Note: The queue entry will not be deleted automatically after delivery! </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailbyid.param"> &title.param; <para> <variablelist> <varlistentry> <term> &type.int; <parameter>$id</parameter> </term> <listitem> <para> Mail identifier </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailbyid.returns"> &title.returns; <para> <emphasis>returns</emphasis> True on success else false </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailbyid.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailbyid.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/sendmailsinqueue.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/sendmailsinqueue.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/sendmailsinqueue.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.sendmailsinqueue"> <refnamediv> <refname><function>Mail_Queue::sendMailsInQueue</function></refname> <refpurpose>Send mails from queue.</refpurpose> </refnamediv> <refsynopsisdiv> <funcsynopsis> <funcsynopsisinfo> require_once &apos;Mail/Queue.php&apos;; </funcsynopsisinfo> <funcprototype> <funcdef>mixed <function>Mail_Queue::sendMailsInQueue</function></funcdef> <paramdef>integer <parameter> <optional>$limit = MAILQUEUE_ALL</optional></parameter></paramdef> <paramdef>integer <parameter> <optional>$offset = MAILQUEUE_START</optional></parameter></paramdef> <paramdef>integer <parameter> <optional>$try = MAILQUEUE_TRY</optional></parameter></paramdef> </funcprototype> </funcsynopsis> </refsynopsisdiv> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailsinqueue.desc"> &title.desc; <para>Sends mails remaining in queue.</para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailsinqueue.param"> &title.param; <para> <variablelist> <varlistentry> <term> &type.int; <parameter>$limit</parameter> </term> <listitem> <para> Optional - maximum number of mails to send. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.int; <parameter>$offset</parameter> </term> <listitem> <para> Optional - skip $offset mails and start sending from there. </para> </listitem> </varlistentry> </variablelist> <variablelist> <varlistentry> <term> &type.int; <parameter>$try</parameter> </term> <listitem> <para> Optional - count of tries before mail returns to queue for later delivery. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailsinqueue.returns"> &title.returns; <para> <emphasis>returns</emphasis>True on success else Mail_Queue_Error object. </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailsinqueue.throws"> &title.throws; <para> <emphasis>throws</emphasis> no exceptions thrown </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.sendmailsinqueue.note"> &title.note; &note.notstatic; </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 --> http://cvs.php.net/co.php/peardoc/en/package/mail/mail-queue/mail-queue/tutorial.xml?r=1.1&p=1 Index: peardoc/en/package/mail/mail-queue/mail-queue/tutorial.xml +++ peardoc/en/package/mail/mail-queue/mail-queue/tutorial.xml <!-- $Revision: 1.1 $ --> <refentry id="package.mail.mail-queue.mail-queue.tutorial"> <refnamediv> <refname>Tutorial</refname> <refpurpose>A tutorial for Mail_Queue</refpurpose> </refnamediv> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part1"> <title>Mail_Queue usage with a simple example</title> <para> We are using the db-container for the example and a mysql database. You need to create some tables in the mysql-database to store the messages: </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part2"> <example> <title>mysql.sql</title> <programlisting role="php"> <![CDATA[ # # `mail_queue` # CREATE TABLE mail_queue ( id bigint(20) NOT NULL default '0', create_time datetime NOT NULL default '0000-00-00 00:00:00', time_to_send datetime NOT NULL default '0000-00-00 00:00:00', sent_time datetime default NULL, id_user bigint(20) NOT NULL default '0', ip varchar(20) NOT NULL default 'unknown', sender varchar(50) NOT NULL default '', recipient varchar(50) NOT NULL default '', headers text NOT NULL, body longtext NOT NULL, try_sent tinyint(4) NOT NULL default '0', delete_after_send tinyint(1) NOT NULL default '1', PRIMARY KEY (id), KEY id (id), KEY time_to_send (time_to_send), KEY id_user (id_user) ); # # `mail_queue_seq` # CREATE TABLE mail_queue_seq ( id int(10) unsigned NOT NULL auto_increment, PRIMARY KEY (id) ); # # Data for `mail_queue_seq` # INSERT INTO mail_queue_seq (id) VALUES (1); ]]> </programlisting> </example> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part3"> <para> First you need to define some options. As you need them two times (once for adding messages, once for sending the messages) its always good to add them to a config-file. Lets call it config.php </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part4"> <example> <title>config.php</title> <programlisting role="php"> <![CDATA[ <?php require_once "Mail/Queue.php"; // options for storing the messages // type is the container used, currently there are db and mdb available $db_options['type'] = 'db'; // the others are the options for the used container // here are some for db $db_options['dsn'] = 'mysql://user:password@host/database'; $db_options['mail_table'] = 'mail_queue'; // here are the options for sending the messages themselves // these are the options needed for the Mail-Class, especially used for Mail::factory() $mail_options['driver'] = 'smtp'; $mail_options['host'] = 'your_server_smtp.com'; $mail_options['port'] = 25; $mail_options['auth'] = false; $mail_options['username'] = ''; $mail_options['password'] = ''; ?> ]]> </programlisting> </example> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part5"> <para> So we are done configuring it, now let's use it. First we need to construct a mail-message and add it to the queue: </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part6"> <example> <title>add_message.php</title> <programlisting role="php"> <![CDATA[ <?php include './config.php'; /* we use the db_options and mail_options here */ $mail_queue =& new Mail_Queue($db_options, $mail_options); $from = 'user@server.com'; $to = "user2@server.com"; $message = 'Hi! This is test message!! :)'; $hdrs = array( 'From' => $from, 'To' => $to, 'Subject' => "test message body" ); /* we use Mail_mime() to construct a valid mail */ $mime =& new Mail_mime(); $mime->setTXTBody($message); $body = $mime->get(); $hdrs = $mime->headers($hdrs); /* Put message to queue */ $mail_queue->put( $from, $to, $hdrs, $body ); ?> ]]> </programlisting> </example> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part7"> <para> Ok, now we've used the simple way to add a message ... there are more advanced options, please check docs of the put-function for these. Now we need to send the messages. This is most often done by using a cron-job which regularly runs a script to send the messages. Here is a simple script to achieve this: </para> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part8"> <example> <title>send_messages.php</title> <programlisting role="php"> <![CDATA[ <?php include './config.php'; /* How many mails could we send each time the script is called */ $max_amount_mails = 50; /* we use the db_options and mail_options from the config again */ $mail_queue =& new Mail_Queue($db_options, $mail_options); /* really sending the messages */ $mail_queue->sendMailsInQueue($max_amount_mails); ?> ]]> </programlisting> </example> </refsect1> <refsect1 id="package.mail.mail-queue.mail-queue.tutorial.part9"> <para> We are done. Now run the last script regularly and add your mails to the queue as needed. </para> </refsect1> </refentry> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-executeMultiple-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->
« previous php.pear.doc (#2856) next »