/framework/vendor/phpmailer/docs/extending.html
http://zoop.googlecode.com/ · HTML · 148 lines · 122 code · 26 blank · 0 comment · 0 complexity · a68ccf405ba1419b975585515239d368 MD5 · raw file
- <html>
- <head>
- <title>Examples using phpmailer</title>
- </head>
-
- <body bgcolor="#FFFFFF">
-
- <h2>Examples using phpmailer</h2>
-
- <h3>1. Advanced Example</h3>
- <p>
-
- This demonstrates sending out multiple email messages with binary attachments
- from a MySQL database with multipart/alternative support.<p>
- <table cellpadding="4" border="1" width="80%">
- <tr>
- <td bgcolor="#CCCCCC">
- <pre>
- require("class.phpmailer.php");
-
- $mail = new phpmailer();
-
- $mail->From = "list@example.com";
- $mail->FromName = "List manager";
- $mail->Host = "smtp1.example.com;smtp2.example.com";
- $mail->Mailer = "smtp";
-
- @MYSQL_CONNECT("localhost","root","password");
- @mysql_select_db("my_company");
- $query = "SELECT full_name, email, photo FROM employee WHERE id=$id";
- $result = @MYSQL_QUERY($query);
-
- while ($row = mysql_fetch_array ($result))
- {
- // HTML body
- $body = "Hello <font size=\"4\">" . $row["full_name"] . "</font>, <p>";
- $body .= "<i>Your</i> personal photograph to this message.<p>";
- $body .= "Sincerely, <br>";
- $body .= "phpmailer List manager";
-
- // Plain text body (for mail clients that cannot read HTML)
- $text_body = "Hello " . $row["full_name"] . ", \n\n";
- $text_body .= "Your personal photograph to this message.\n\n";
- $text_body .= "Sincerely, \n";
- $text_body .= "phpmailer List manager";
-
- $mail->Body = $body;
- $mail->AltBody = $text_body;
- $mail->AddAddress($row["email"], $row["full_name"]);
- $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");
-
- if(!$mail->Send())
- echo "There has been a mail error sending to " . $row["email"] . "<br>";
-
- // Clear all addresses and attachments for next loop
- $mail->ClearAddresses();
- $mail->ClearAttachments();
- }
- </pre>
- </td>
- </tr>
- </table>
- <p>
-
- <h3>2. Extending phpmailer</h3>
- <p>
-
- Extending classes with inheritance is one of the most
- powerful features of object-oriented
- programming. It allows you to make changes to the
- original class for your
- own personal use without hacking the original
- classes. Plus, it is very
- easy to do. I've provided an example:
-
- <p>
- Here's a class that extends the phpmailer class and sets the defaults
- for the particular site:<br>
- PHP include file: <b>mail.inc.php</b>
- <p>
-
- <table cellpadding="4" border="1" width="80%">
- <tr>
- <td bgcolor="#CCCCCC">
- <pre>
- require("class.phpmailer.php");
-
- class my_phpmailer extends phpmailer {
- // Set default variables for all new objects
- var $From = "from@example.com";
- var $FromName = "Mailer";
- var $Host = "smtp1.example.com;smtp2.example.com";
- var $Mailer = "smtp"; // Alternative to IsSMTP()
- var $WordWrap = 75;
-
- // Replace the default error_handler
- function error_handler($msg) {
- print("My Site Error");
- print("Description:");
- printf("%s", $msg);
- exit;
- }
-
- // Create an additional function
- function do_something($something) {
- // Place your new code here
- }
- }
- </td>
- </tr>
- </table>
- <br>
-
- Now here's a normal PHP page in the site, which will have all the defaults set
- above:<br>
- Normal PHP file: <b>mail_test.php</b>
- <p>
-
- <table cellpadding="4" border="1" width="80%">
- <tr>
- <td bgcolor="#CCCCCC">
- <pre>
- require("mail.inc.php");
-
- // Instantiate your new class
- $mail = new my_phpmailer;
-
- // Now you only need to add the necessary stuff
- $mail->AddAddress("josh@example.com", "Josh Adams");
- $mail->Subject = "Here is the subject";
- $mail->Body = "This is the message body";
- $mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip"); // optional name
-
- if(!$mail->Send())
- {
- echo "There was an error sending the message";
- exit;
- }
-
- echo "Message was sent successfully";
- </pre>
- </td>
- </tr>
- </table>
- </p>
-
- </body>
- </html>