123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <html>
- <head>
- <title>Examples using phpmailer</title>
- </head>
- <body>
- <h2>Examples using PHPMailer</h2>
- <h3>1. Advanced Example</h3>
- <p>
- This demonstrates sending multiple email messages with binary attachments
- from a MySQL database using multipart/alternative messages.<p>
- <pre>
- require 'PHPMailerAutoload.php';
- $mail = new PHPMailer();
- $mail->setFrom('list@example.com', 'List manager');
- $mail->Host = 'smtp1.example.com;smtp2.example.com';
- $mail->Mailer = 'smtp';
- @mysqli_connect('localhost','root','password');
- @mysqli_select_db("my_company");
- $query = "SELECT full_name, email, photo FROM employee";
- $result = @mysqli_query($query);
- while ($row = mysqli_fetch_assoc($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>
- <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, and it's very easy to do:
- <p>
- Here's a class that extends the phpmailer class and sets the defaults
- for the particular site:<br>
- PHP include file: my_phpmailer.php
- <p>
- <pre>
- require 'PHPMailerAutoload.php';
- class my_phpmailer extends PHPMailer {
- // Set default variables for all new objects
- public $From = 'from@example.com';
- public $FromName = 'Mailer';
- public $Host = 'smtp1.example.com;smtp2.example.com';
- public $Mailer = 'smtp'; // Alternative to isSMTP()
- public $WordWrap = 75;
- // Replace the default debug output function
- protected function edebug($msg) {
- print('My Site Error');
- print('Description:');
- printf('%s', $msg);
- exit;
- }
- //Extend the send function
- public function send() {
- $this->Subject = '[Yay for me!] '.$this->Subject;
- return parent::send()
- }
- // Create an additional function
- public function do_something($something) {
- // Place your new code here
- }
- }
- </pre>
- <br>
- Now here's a normal PHP page in the site, which will have all the defaults set above:<br>
- <pre>
- require 'my_phpmailer.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>
- </body>
- </html>
|