The class enables you to send emails with attachments, embedded images, html, or just plain-text via SMTP or using PHP's native mail function.
This is the constructor for the class, and it creates an email object.
| $from | The email address of the sender. To include your name make it an array. The default is your servers configuration 'sendmail_from' value. |
| $debug | Set to true if you're just testing the waters, and want to see what is going on. |
| Example | $email = new Mailer (array('Yours Truly'=>'best@website.com'), true); |
Connects you to your SMTP server. Once you're in, you can send as many emails as you like without connecting over and over again. SMTP is much more reliable than mail(), and if this method returns true you can be confident that your email was sent and will be received. If you don't use this, or if you don't check to make sure that this method worked, then your email will be sent using PHP's native mail() function.
| $server | Your outgoing (SMTP) server. The default is 'localhost'. |
| $port | The port to connect to. The default is 25. |
| $username | Your username. |
| $password | Your password. |
| Returns | True if successful, false if not. |
| Example | if ($email->smtp('mail.yourwebsite.com', 25)) { // Proceed . . . |
This will include an attachment to your email, and you can call this method as many times as you like.
| $filename | The name of the file. |
| $filepath | The full server path to the attachments directory. Don't forget the trailing slash. |
| Example | $email->attach ('report.pdf', '/base/directory/mysite.com/include/attachments/'); |
Just as advertised. When you include the directory to the images contained in your html, it will embed them in your email. Just keep calling this method for every email you want to send.
| $to | The email address of the receiver. To include their name make it an array: $to['Their Name'] = 'receiver@email.com'; |
| $subject | The subject of the email. |
| $text | The body of your message. You don't need to worry about newlines ("\n\n") - it will take either newlines, or <br /> tags. |
| $html | To display an html message. The $text string above is not needed if you declare this, but it is recommended for good form anyways. |
| $images | The full server path to where the images in your email reside. Don't forget the trailing slash. |
| Returns | True if successful, false if not. |
| Example | $to = 'some@email.com';
$subject = 'Friendly Reminder';
$text = 'Tell your friends about me!';
$page = new Page ('Friendly Reminder');
$html = $page->display ('<img src="logo.gif" /><br />Tell your friends about me!');
unset ($page);
$email->send($to, $subject, $text, $html, '/base/directory/mysite.com/include/images/'); |
This will close your open SMTP connection, and you should call this method after you $email->send() everything.
| Example | $email->close(); |
Did some of your emails not get sent? Want to know what is going on so you can figure out what to do about it? This method will send you an informational array of all your interactions with SMTP, the expected responses in parentheses, and the actual response you were given.
| Returns | An array of SMTP status codes. |
| Example | trigger_error(serialize($email->debug()); |