Version: 1.1
Type: Sample Code (HOWTO)
Category: Networking
License: GNU General Public License
Description: XPertMailer is a php class that you can use to send encoded MIME type e-mail messages (text, HTML, HTML embeded images, attachments) towards a localhost, client, or relay SMTP servers with optional authorisation.
<?php /******************************************************************** * XPertMailer is a php class that you can use to send encoded * * MIME type e-mail messages (text, HTML, HTML embeded images, * * attachments) towards a localhost, client or relay SMTP servers * * with optional authorisation * * ---------------------------------------------------------------- * * For more informations, please visit: http://www.xpertmailer.com/ * ********************************************************************/ @set_time_limit(0); @error_reporting(E_ALL); // for debugging // you will need to download the latest version of XPertMailer from // http://sourceforge.net/projects/xpertmailer/ require_once 'XPertMailer.php'; /** * send a complex mail - text/html format * with two HTML embeded images and two attachment files * -------------------------------------- */ // $mail = new XPertMailer; // <-- by default SMTP_LOCAL_CLIENT // but you can optionaly use an relay host (name or ip) $mail = new XPertMailer(SMTP_RELAY, "relay-host-name.com"); // optionaly you can set authentification for relay host $mail->auth("username", "password"); // optionaly you can set time out for each smtp server connection $mail->timeout(30); // optionaly you can set priority high (default is P_NORMAL - normal) $mail->priority(P_HIGH); // optionaly you can set from mail address and optionaly from name $mail->from("[email protected]", "My Name"); // optionaly you can set each header name and value $header['Cc'] = "[email protected]"; $header['Bcc'] = "[email protected]"; $header['Reply-To'] = "[email protected]"; $header['X-Whatever'] = "description"; // set additional header informations $mail->headers($header); // set HTML embedded images name and optionaly you can rename them // if the file is not in this directory, write the path name // Attention: do not include path name in the rename $imgs[] = "image1.jpg"; $imgs['newname.gif'] = "image2.gif"; // attach HTML embedded images $mail->attach($imgs, ATTACH_HTML_IMG); // set attachment files name and optional you can rename them // if the file is not in this directory, write the path name $file['new.zip'] = "archive1.zip"; $file[] = "archive2.tar.gz"; // attach files $mail->attach($file, ATTACH_FILE); // set the HTML message value // Attention: do not include image path name $html = ' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <body> <img src="image1.jpg" border="0"><br> <b><u><i>next image</i></u></b> :-)<br> <img src="newname.gif" border="2"><br> <font color="red">message html red here</font> </body> </html>'; // send the e-mail and optionaly you can set charset value // as you can see, the text/plain message is required because // not all mail clients can currently support HTML messages $send = $mail->send("[email protected]", "subject here", "this is a HTML message", $html, "UTF-8"); // output --> // compare the result and print a message echo $send ? "Done." : "Error."; // some useful for debugging echo "<br>Server response: ".$mail->response(); ?>