Sending HTML email
Posted: Fri Oct 16, 2015 12:15 pm
I have a nuBuilder Pro app that sends emails to users when certain events occur (e.g. an item ships from our stores). I would like to send these emails as formatted HTML, rather than plain text. However, if I embed HTML tags in the message body (see code below), these just apear in the email as text. Are there any settings, either in nuBuilder on the server that I need to change in order for the email to be sent as HTML?
Many thanks,
Simon Armstrong.
//**** SEND EMAIL TO LOGISTICS ****
$resuser = '#nu_user_name#';
//get mail sender name
if ($resuser == "globeadmin" ){
$mail_sender = "xxxxxxxxxxxxxxx@xxxxxxxxxxx.co.uk";
// nuDebug("admin $resuser");
} else {
// nuDebug("regular $resuser");
$usersql = "select * from zzzsys_user
where sus_name = '$resuser';
";
// nuDebug("sql $usersql");
$userobj = nuRunQuery($usersql);
$userdata = db_fetch_object($userobj);
$mail_sender = $userdata->sus_email;
}
// nuDebug("sender $mail_sender");
//set mail recipient for team inbox
$mail_recipient = "xxxxxxxxxxx.infrastructure@xxxxxxxxxxx.co.uk";
//nuDebug("mail recipient = $mail_recipient");
//set reserve id to add to subject line
//$resid = '#Reserve_ID#';
$resid = '#RECORD_ID#';
//test sending basic email
//nuEmail("",$mail_recipient, "STOCK REQUEST NOTIFICATION NoB_Reserve: $resid", "$resuser requested some stock", "");
//nuEmail("",$mail_sender, "STOCK REQUEST NOTIFICATION NoB_Reserve: $resid", "You requested some stock", "");
//Get reserve project info
$mailsql = "select * from dbreserve
join dbprojects
on dbreserve.Project_ID = dbprojects.Project_ID
where dbreserve.Reserve_ID = '#RECORD_ID#';
";
//nuDebug($mailsql);
$mail = nuRunQuery($mailsql);
//Get list of reserved items
$mailsql2 = "select * from dbreserveasset
join dbreserve
on dbreserveasset.Reserve_ID = dbreserve.Reserve_ID
join dbproduct
on dbreserveasset.Product_ID = dbproduct.Product_ID
join dbsplit
on dbreserveasset.SendTo = dbsplit.Split_ID
where dbreserveasset.Reserve_ID = '#RECORD_ID#';
";
$mail2 = nuRunQuery($mailsql2);
$howmany = db_num_rows($mail2);
//get project data
$mail_data1 = db_fetch_object($mail);
$project_name = $mail_data1->ProjectName;
$project_desc = $mail_data1->ProjectDescription;
//get item data
$mail_data2 = db_fetch_object($mail2);
$desp_location = $mail_data2->BinArea_Name;
$order_qty = '#outQty#';
$reserve_date = '#ReservedOnDate#';
//generate email
if ('#nu_new_record#' == 0){
//record has been amended
$mail_subject = "NoB: Notification: AMENDED Stock Request $project_name $project_desc NoB Reserve ID: $resid";
/* $mail_message = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<title></title>
<style></style>
</head>";*/
/*
// $mail_messsage = "<body leftmargin='20' marginwidth='0' topmargin='0' marginheight='0' offset='0'>
$mail_messsage = "<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td align='Left'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxx:8088/ ... x_Logo.jpg' alt='xxxxxxxxxxx Logo' height='60' width='235'></td>
<td align='Centre'></td>
<td align='Right'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxx:8088/ ... medium.png' alt='NoB Logo' height='62' width='212'></td>
</tr>
<tr>
<td></td>
";
$mail_message .= " <td align='Centre'><font face='Arial' size='4'><b>Amended Stock Request</b></font></td>
<td></td>
</tr>
</table>
";
$mail_message .= " </tr>
</table>
<font face='Arial' size='2'>
<p><b>Requestor:</b> $resuser</p>
<p>Has amended the stock request for project: <b>$project_name $project_desc.</b></p>
<p><b>Reserve ID:</b> $resid</p>
<p>$howmany : Requested Item(s):</p>
";
// $mail_message = "$resuser has amended stock request for $project_name $project_desc project. Reserve ID: $resid \n\n";
} else {
//record is new
$mail_subject = "NoB: Notification: NEW Stock Request $project_name $project_desc NoB Reserve ID: $resid";
$mail_messsage = "<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td align='Left'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxxx:8088 ... x_Logo.jpg' alt='xxxxxxxxxxx Logo' height='60' width='235'></td>
<td align='Centre'></td>
<td align='Right'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx:80 ... medium.png' alt='NoB Logo' height='62' width='212'></td>
</tr>
<tr>
<td></td>
";
$mail_message .= " <td align='Centre'><font face='Arial' size='4'><b>Stock Request</b></font></td>
<td></td>
</tr>
</table>
";
$mail_message .= " </tr>
</table>
<font face='Arial' size='2'>
<p><b>Requestor:</b>$resuser</p>
<p>Has requested stock for project: <b>$project_name $project_desc.</b></p>
<p><b>Reserve ID:</b> $resid</p>
<p>$howmany : Requested Item(s):</p>
";
// $mail_message = "$resuser has requested stock for $project_name $project_desc project. Reserve ID: $resid \n\n";
}
//$mail_message .= "$howmany : Requested Item(s):\n\n";
//print first item, you have already fetched it from the results object
$mail_message .= " <table border='2' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<b>
<td align='Centre'>QTY</td>
<td align='Left'>Part No.</td>
<td align='Left'>Description</td>
<td align='Left'>Send To</td>
<td align='Left'>Required Date</td>
</b>
</tr>
";
$mail_message .= " <tr>
<td align='Centre'>$mail_data2->ReserveQty</td>
<td align='Left'>$mail_data2->PartNumber</td>
<td align='Left'>$mail_data2->ModelDesc</td>
<td align='Left'>$mail_data2->SplitDescription</td>
<td align='Left'>$mail_data2->RequiredDate</td>
</tr>
";
//$mail_message .= "$mail_data2->ReserveQty x $mail_data2->PartNumber : $mail_data2->ModelDesc - to be sent to: $mail_data2->SplitDescription : Required On: $mail_data2->RequiredDate : Alt Item? (0 = No, 1 = Yes): $mail_data2->altItem \n";
//loop through reserved asset records and list items in email
while ($record = db_fetch_object($mail2)) {
$mail_message .= " <tr>
<td align='Centre'>$record->ReserveQty</td>
<td align='Left'>$record->PartNumber</td>
<td align='Left'>$record->ModelDesc</td>
<td align='Left'>$record->SplitDescription</td>
<td align='Left'>$record->RequiredDate</td>
</tr>
";
// $mail_message .= "$record->ReserveQty x $record->PartNumber : $record->ModelDesc - to be sent to: $record->SplitDescription : Required On: $record->RequiredDate : Alt Item? (0 = No, 1 = Yes): $record->altItem \n";
}
$mail_message .= " <tr> </tr>
</table>
<p>The Infrastructure Logistics team will review your request as soon as possible.
You will receive further communications as your order progresses.</p>
<p><b>Please Note: Our inbox is monitored Monday to Friday, 8:30am until 5pm.</b></p>
Under normal circumstances, Infrastructure Logistics make two deliveries to each CPK DC every day;
one mid-morning and one mid-afternoon.
<p>The agreed slots are:</p>
For the mid-morning delivery slot: all requests should be made by 10am.</p>
For the mid-afternoon delivery slot: all requests should be made by 1pm.</p>
<p>Best regards,</p>
<b>xxxxxxxxxxx Infrastructure Logistics</b>
</font>
</body>";
nuEmail("",$mail_sender, $mail_subject, $mail_message, "");
Many thanks,
Simon Armstrong.
//**** SEND EMAIL TO LOGISTICS ****
$resuser = '#nu_user_name#';
//get mail sender name
if ($resuser == "globeadmin" ){
$mail_sender = "xxxxxxxxxxxxxxx@xxxxxxxxxxx.co.uk";
// nuDebug("admin $resuser");
} else {
// nuDebug("regular $resuser");
$usersql = "select * from zzzsys_user
where sus_name = '$resuser';
";
// nuDebug("sql $usersql");
$userobj = nuRunQuery($usersql);
$userdata = db_fetch_object($userobj);
$mail_sender = $userdata->sus_email;
}
// nuDebug("sender $mail_sender");
//set mail recipient for team inbox
$mail_recipient = "xxxxxxxxxxx.infrastructure@xxxxxxxxxxx.co.uk";
//nuDebug("mail recipient = $mail_recipient");
//set reserve id to add to subject line
//$resid = '#Reserve_ID#';
$resid = '#RECORD_ID#';
//test sending basic email
//nuEmail("",$mail_recipient, "STOCK REQUEST NOTIFICATION NoB_Reserve: $resid", "$resuser requested some stock", "");
//nuEmail("",$mail_sender, "STOCK REQUEST NOTIFICATION NoB_Reserve: $resid", "You requested some stock", "");
//Get reserve project info
$mailsql = "select * from dbreserve
join dbprojects
on dbreserve.Project_ID = dbprojects.Project_ID
where dbreserve.Reserve_ID = '#RECORD_ID#';
";
//nuDebug($mailsql);
$mail = nuRunQuery($mailsql);
//Get list of reserved items
$mailsql2 = "select * from dbreserveasset
join dbreserve
on dbreserveasset.Reserve_ID = dbreserve.Reserve_ID
join dbproduct
on dbreserveasset.Product_ID = dbproduct.Product_ID
join dbsplit
on dbreserveasset.SendTo = dbsplit.Split_ID
where dbreserveasset.Reserve_ID = '#RECORD_ID#';
";
$mail2 = nuRunQuery($mailsql2);
$howmany = db_num_rows($mail2);
//get project data
$mail_data1 = db_fetch_object($mail);
$project_name = $mail_data1->ProjectName;
$project_desc = $mail_data1->ProjectDescription;
//get item data
$mail_data2 = db_fetch_object($mail2);
$desp_location = $mail_data2->BinArea_Name;
$order_qty = '#outQty#';
$reserve_date = '#ReservedOnDate#';
//generate email
if ('#nu_new_record#' == 0){
//record has been amended
$mail_subject = "NoB: Notification: AMENDED Stock Request $project_name $project_desc NoB Reserve ID: $resid";
/* $mail_message = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<title></title>
<style></style>
</head>";*/
/*
// $mail_messsage = "<body leftmargin='20' marginwidth='0' topmargin='0' marginheight='0' offset='0'>
$mail_messsage = "<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td align='Left'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxx:8088/ ... x_Logo.jpg' alt='xxxxxxxxxxx Logo' height='60' width='235'></td>
<td align='Centre'></td>
<td align='Right'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxx:8088/ ... medium.png' alt='NoB Logo' height='62' width='212'></td>
</tr>
<tr>
<td></td>
";
$mail_message .= " <td align='Centre'><font face='Arial' size='4'><b>Amended Stock Request</b></font></td>
<td></td>
</tr>
</table>
";
$mail_message .= " </tr>
</table>
<font face='Arial' size='2'>
<p><b>Requestor:</b> $resuser</p>
<p>Has amended the stock request for project: <b>$project_name $project_desc.</b></p>
<p><b>Reserve ID:</b> $resid</p>
<p>$howmany : Requested Item(s):</p>
";
// $mail_message = "$resuser has amended stock request for $project_name $project_desc project. Reserve ID: $resid \n\n";
} else {
//record is new
$mail_subject = "NoB: Notification: NEW Stock Request $project_name $project_desc NoB Reserve ID: $resid";
$mail_messsage = "<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td align='Left'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxxx:8088 ... x_Logo.jpg' alt='xxxxxxxxxxx Logo' height='60' width='235'></td>
<td align='Centre'></td>
<td align='Right'><img src='http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx:80 ... medium.png' alt='NoB Logo' height='62' width='212'></td>
</tr>
<tr>
<td></td>
";
$mail_message .= " <td align='Centre'><font face='Arial' size='4'><b>Stock Request</b></font></td>
<td></td>
</tr>
</table>
";
$mail_message .= " </tr>
</table>
<font face='Arial' size='2'>
<p><b>Requestor:</b>$resuser</p>
<p>Has requested stock for project: <b>$project_name $project_desc.</b></p>
<p><b>Reserve ID:</b> $resid</p>
<p>$howmany : Requested Item(s):</p>
";
// $mail_message = "$resuser has requested stock for $project_name $project_desc project. Reserve ID: $resid \n\n";
}
//$mail_message .= "$howmany : Requested Item(s):\n\n";
//print first item, you have already fetched it from the results object
$mail_message .= " <table border='2' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<b>
<td align='Centre'>QTY</td>
<td align='Left'>Part No.</td>
<td align='Left'>Description</td>
<td align='Left'>Send To</td>
<td align='Left'>Required Date</td>
</b>
</tr>
";
$mail_message .= " <tr>
<td align='Centre'>$mail_data2->ReserveQty</td>
<td align='Left'>$mail_data2->PartNumber</td>
<td align='Left'>$mail_data2->ModelDesc</td>
<td align='Left'>$mail_data2->SplitDescription</td>
<td align='Left'>$mail_data2->RequiredDate</td>
</tr>
";
//$mail_message .= "$mail_data2->ReserveQty x $mail_data2->PartNumber : $mail_data2->ModelDesc - to be sent to: $mail_data2->SplitDescription : Required On: $mail_data2->RequiredDate : Alt Item? (0 = No, 1 = Yes): $mail_data2->altItem \n";
//loop through reserved asset records and list items in email
while ($record = db_fetch_object($mail2)) {
$mail_message .= " <tr>
<td align='Centre'>$record->ReserveQty</td>
<td align='Left'>$record->PartNumber</td>
<td align='Left'>$record->ModelDesc</td>
<td align='Left'>$record->SplitDescription</td>
<td align='Left'>$record->RequiredDate</td>
</tr>
";
// $mail_message .= "$record->ReserveQty x $record->PartNumber : $record->ModelDesc - to be sent to: $record->SplitDescription : Required On: $record->RequiredDate : Alt Item? (0 = No, 1 = Yes): $record->altItem \n";
}
$mail_message .= " <tr> </tr>
</table>
<p>The Infrastructure Logistics team will review your request as soon as possible.
You will receive further communications as your order progresses.</p>
<p><b>Please Note: Our inbox is monitored Monday to Friday, 8:30am until 5pm.</b></p>
Under normal circumstances, Infrastructure Logistics make two deliveries to each CPK DC every day;
one mid-morning and one mid-afternoon.
<p>The agreed slots are:</p>
For the mid-morning delivery slot: all requests should be made by 10am.</p>
For the mid-afternoon delivery slot: all requests should be made by 1pm.</p>
<p>Best regards,</p>
<b>xxxxxxxxxxx Infrastructure Logistics</b>
</font>
</body>";
nuEmail("",$mail_sender, $mail_subject, $mail_message, "");