How to Send mail from localhost using phpmailer
To send mail from your localhost or live server you can use phpmailer class. phpmailer class sends mail using smtp from both local and live server .using phpmailer you can also send html. so these are the steps to send a mail from localhost using phpmailer.
Step 1
First download phpmailer class from here . and after download unzip and extract it into your root directory ex(htdocs/yourprojectfolder/phpmailer/).
Step 2
then create a form in your html to send mail
<form action="" method="post" onsubmit="return sendnewsletter()">
<div class="form-body">
<div class="form-group">
<div class="msgalert"><?php echo isset($msgshow)?$msgshow:""; ?></div>
</div>
<div class="form-group">
<label class="control-label">Subject</label>
<div class="input-icon">
<i class="fa fa-bell-o"></i>
<input type="text" name="val[subject]" class="form-control " id="reasontext" placeholder="Subject"> </div>
</div>
<div class="form-group">
<label class="control-label">Message</label>
<div class="input-icon">
<textarea name="val[message]" class="form-control " id="msgboxarea"></textarea> </div>
</div>
</div>
<div class="form-actions">
<div class="btn-set pull-left">
<button type="submit" name="submitnwltr" class="btn green">Send Newsletter</button>
<button type="button" class="btn blue">Cancel</button>
</div>
</div>
</form>
Step 3
then in your php code
if(isset($_POST['submitnwltr']))
{
$maildata = $_POST['val'];
if($maildata['title']!="" || $maildata['subject']!="" || $maildata['message']!="")
{
$msguse = $maildata['message'];
$mailsubject = $maildata['subject'];
$MessageHTML="";
$MessageHTML .="<table style='width:900px; border:1px solid #dedede' >";
$MessageHTML .='<tr><td align="center" valign="top" style="width:900px; background-color:#6fc138;text-align:center;"><h3>YOUR HEADER</h3></td></tr>';
$MessageHTML .='<tr><td></td></tr>';
$MessageHTML .='<tr><td>';
$MessageHTML .= "<div style=''><br><br> $msguse <br><br><br></div>";
$MessageHTML .="</td></tr>";
$MessageHTML .='<tr><td></td></tr>';
$MessageHTML .='<tr><td align="center" style="width:900px; background-color:#6fc138;text-align:center;">Copyrights @ YOURSITE.com</td></tr>';
$MessageHTML .="</table>";
$MessageTEXT ="YOURSITE.com";
$fields = "users.*,user_settings.newsletter";
$sltables = "users,user_settings";
$conforsl = "AND users.id=user_settings.userid AND user_settings.newsletter=1";
$getUser = $aClassDb->getJoinRecord($fields,$sltables, $conforsl);
if($getUser)
{
foreach ($getUser as $getkey => $getvalue) {
$usermail = $username = "";
$username = $getvalue['fullname'];
$usermail = $getvalue['email'];
$ToEmail = $usermail;
$ToName = $username;
$Send = $aClassDb->SendMail( $ToEmail, $mailsubject, $MessageHTML, $MessageTEXT );
if ( $Send ) {
$msgshowt = "<div class='alert alert-success'>Newsletter sent successfully.</div>";
}
else {
$msgshowt = "<div class='alert alert-danger'>Something went wrong.Please try again.</div>";
}
}
}
}else {
$msgshowt = "<div class='alert alert-danger'>Something went wrong.Please try again.</div>";
}}
Step 4
And finally you just create a function to send mail from localhost
function SendMail( $ToEmail,$subjectval, $MessageHTML, $MessageTEXT ) {
// require_once ( 'class.phpmailer.php' ); // Add the path as appropriate
include_once "webroot/phpmailer/PHPMailerAutoload.php";
$Mail = new PHPMailer();
$Mail->IsSMTP(); // Use SMTP
$Mail->Host = "smtp.gmail.com"; // Sets SMTP server
$Mail->SMTPDebug = 2; // 2 to enable SMTP debug information
$Mail->SMTPAuth = TRUE; // enable SMTP authentication
$Mail->SMTPSecure = "tls"; //Secure conection
$Mail->Port = 587; // set the SMTP port
$Mail->Username = 'yourgmail@gmail.com'; // SMTP account username
$Mail->Password = 'yourpassword'; // SMTP account password
$Mail->Priority = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
$Mail->CharSet = 'UTF-8';
$Mail->Encoding = '8bit';
$Mail->Subject = $subjectval;
$Mail->ContentType = 'text/html; charset=utf-8\r\n';
$Mail->From = 'info@grabthings.com';
$Mail->FromName = 'Grabthings';
$Mail->WordWrap = 900; // RFC 2822 Compliant for Max 998 characters per line
$Mail->AddAddress( $ToEmail ); // To:
$Mail->isHTML( TRUE );
$Mail->Body = $MessageHTML;
$Mail->AltBody = $MessageTEXT;
$Mail->Send();
$Mail->SmtpClose();
if ( $Mail->IsError() ) { // ADDED - This error checking was missing
return FALSE;
}
else {
return TRUE;
}
}
Note -after testing you can off debug mode $Mail->SMTPDebug = 0;
now you can send mail from localhost using phpmailer with a good html and attachments.
To send mail from your localhost or live server you can use phpmailer class. phpmailer class sends mail using smtp from both local and live server .using phpmailer you can also send html. so these are the steps to send a mail from localhost using phpmailer.
Step 1
First download phpmailer class from here . and after download unzip and extract it into your root directory ex(htdocs/yourprojectfolder/phpmailer/).
Step 2
then create a form in your html to send mail
<form action="" method="post" onsubmit="return sendnewsletter()">
<div class="form-body">
<div class="form-group">
<div class="msgalert"><?php echo isset($msgshow)?$msgshow:""; ?></div>
</div>
<div class="form-group">
<label class="control-label">Subject</label>
<div class="input-icon">
<i class="fa fa-bell-o"></i>
<input type="text" name="val[subject]" class="form-control " id="reasontext" placeholder="Subject"> </div>
</div>
<div class="form-group">
<label class="control-label">Message</label>
<div class="input-icon">
<textarea name="val[message]" class="form-control " id="msgboxarea"></textarea> </div>
</div>
</div>
<div class="form-actions">
<div class="btn-set pull-left">
<button type="submit" name="submitnwltr" class="btn green">Send Newsletter</button>
<button type="button" class="btn blue">Cancel</button>
</div>
</div>
</form>
Step 3
then in your php code
if(isset($_POST['submitnwltr']))
{
$maildata = $_POST['val'];
if($maildata['title']!="" || $maildata['subject']!="" || $maildata['message']!="")
{
$msguse = $maildata['message'];
$mailsubject = $maildata['subject'];
$MessageHTML="";
$MessageHTML .="<table style='width:900px; border:1px solid #dedede' >";
$MessageHTML .='<tr><td align="center" valign="top" style="width:900px; background-color:#6fc138;text-align:center;"><h3>YOUR HEADER</h3></td></tr>';
$MessageHTML .='<tr><td></td></tr>';
$MessageHTML .='<tr><td>';
$MessageHTML .= "<div style=''><br><br> $msguse <br><br><br></div>";
$MessageHTML .="</td></tr>";
$MessageHTML .='<tr><td></td></tr>';
$MessageHTML .='<tr><td align="center" style="width:900px; background-color:#6fc138;text-align:center;">Copyrights @ YOURSITE.com</td></tr>';
$MessageHTML .="</table>";
$MessageTEXT ="YOURSITE.com";
$fields = "users.*,user_settings.newsletter";
$sltables = "users,user_settings";
$conforsl = "AND users.id=user_settings.userid AND user_settings.newsletter=1";
$getUser = $aClassDb->getJoinRecord($fields,$sltables, $conforsl);
if($getUser)
{
foreach ($getUser as $getkey => $getvalue) {
$usermail = $username = "";
$username = $getvalue['fullname'];
$usermail = $getvalue['email'];
$ToEmail = $usermail;
$ToName = $username;
$Send = $aClassDb->SendMail( $ToEmail, $mailsubject, $MessageHTML, $MessageTEXT );
if ( $Send ) {
$msgshowt = "<div class='alert alert-success'>Newsletter sent successfully.</div>";
}
else {
$msgshowt = "<div class='alert alert-danger'>Something went wrong.Please try again.</div>";
}
}
}
}else {
$msgshowt = "<div class='alert alert-danger'>Something went wrong.Please try again.</div>";
}}
Step 4
And finally you just create a function to send mail from localhost
function SendMail( $ToEmail,$subjectval, $MessageHTML, $MessageTEXT ) {
// require_once ( 'class.phpmailer.php' ); // Add the path as appropriate
include_once "webroot/phpmailer/PHPMailerAutoload.php";
$Mail = new PHPMailer();
$Mail->IsSMTP(); // Use SMTP
$Mail->Host = "smtp.gmail.com"; // Sets SMTP server
$Mail->SMTPDebug = 2; // 2 to enable SMTP debug information
$Mail->SMTPAuth = TRUE; // enable SMTP authentication
$Mail->SMTPSecure = "tls"; //Secure conection
$Mail->Port = 587; // set the SMTP port
$Mail->Username = 'yourgmail@gmail.com'; // SMTP account username
$Mail->Password = 'yourpassword'; // SMTP account password
$Mail->Priority = 1; // Highest priority - Email priority (1 = High, 3 = Normal, 5 = low)
$Mail->CharSet = 'UTF-8';
$Mail->Encoding = '8bit';
$Mail->Subject = $subjectval;
$Mail->ContentType = 'text/html; charset=utf-8\r\n';
$Mail->From = 'info@grabthings.com';
$Mail->FromName = 'Grabthings';
$Mail->WordWrap = 900; // RFC 2822 Compliant for Max 998 characters per line
$Mail->AddAddress( $ToEmail ); // To:
$Mail->isHTML( TRUE );
$Mail->Body = $MessageHTML;
$Mail->AltBody = $MessageTEXT;
$Mail->Send();
$Mail->SmtpClose();
if ( $Mail->IsError() ) { // ADDED - This error checking was missing
return FALSE;
}
else {
return TRUE;
}
}
Note -after testing you can off debug mode $Mail->SMTPDebug = 0;
now you can send mail from localhost using phpmailer with a good html and attachments.
Nice blog. MSgClub sms api php send a text message directly from your own software, website or application which developed using php code is now gets possible. Your search for sending information from a reliable and robust application will get end here because MsgClub is helping api users.
ReplyDelete