I suggest you just use the PHPMAILER class for this, and you yourself can rest.
https://code.google.com/a/apache-extras.org/p/phpmailer/
This will be good support, so you donβt need to start worrying about editing many codes that will drain your time for other work.
Check the files included in the examples folder for SMTP examples, and use SMTP advanced or basic. With advanced SMTP, you can throw and catch your mistakes. This will help you find out where you have errors until all errors are resolved. See Code Example for Basic SMTP Codes.
require_once('../class.phpmailer.php'); //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); $body = file_get_contents('contents.html'); $body = preg_replace('/[\]/','',$body); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "mail.yourdomain.com"; // SMTP server $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "mail.yourdomain.com"; // sets the SMTP server $mail->Port = 26; // set the SMTP port for the GMAIL server $mail->Username = " yourname@yourdomain "; // SMTP account username $mail->Password = "yourpassword"; // SMTP account password $mail->SetFrom(' name@yourdomain.com ', 'First Last'); $mail->AddReplyTo(" name@yourdomain.com ","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = " whoto@otherdomain.com "; $mail->AddAddress($address, "John Doe"); $mail->AddAttachment("images/phpmailer.gif"); // attachment $mail->AddAttachment("images/phpmailer_mini.gif"); // attachment if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
When you finish testing and want to stop outputting SMTP buffer messages, find this line that says
$mail->SMTPDebug = 2;
and replace it with
$mail->SMTPDebug = false; $mail->do_debug = 0;
Then you are good to go. Ask questions if necessary.
source share