Send email using HTML
static void SendEmailUsingHTML(Args _args)
{
System.Text.StringBuilder htmlTable;
SysEmailParameters parameters = SysEmailParameters::find();
SMTPRelayServerName relayServer;
SMTPPortNumber portNumber;
Str1260 subject, body;
SysMailer mailer;
System.Exception e;
boolean recExsits = false;
EmployeeTable employeeTable;
htmlTable = new System.Text.StringBuilder();
htmlTable.Append("<style> table, th, td { border: 1px solid black; padding: 5px; table { border-spacing: 15px; } </style>");
htmlTable.Append("<table>");
// Table header
htmlTable.Append("<TR ALIGN='LEFT'>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 120px'>");
htmlTable.Append("Employee ID");
htmlTable.Append("</TD>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 140px'>");
htmlTable.Append("Employee Name");
htmlTable.Append("</TD>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 140px'>");
htmlTable.Append("Location");
htmlTable.Append("</TD>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 200px'>");
htmlTable.Append("Email Address");
htmlTable.Append("</TD>");
htmlTable.Append("</TR>");
htmlTable.Append("<TableBorder = 1>");
while select EmpId, EmployeeName, Location, Email from employeeTable
{
if (!recExsits)
{
recExsits=true;
}
htmlTable.Append("<TR ALIGN='LEFT'>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 120px'>");
htmlTable.Append(employeeTable.EmpId);
htmlTable.Append("</TD>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 140px'>");
htmlTable.Append(employeeTable.EmployeeName);
htmlTable.Append("</TD>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 140px'>");
htmlTable.Append(employeeTable.Location);
htmlTable.Append("</TD>");
htmlTable.Append("<TD style='WORD-WRAP: break-word; TEXT-ALIGN: left; WIDTH: 200px'>");
htmlTable.Append(employeeTable.Email);
htmlTable.Append("</TD>");
htmlTable.Append("</TR>");
}
htmlTable.Append("</TABLE>");
if (!recExsits)
{
htmlTable.Clear();
htmlTable.Append('No data');
}
if (parameters.SMTPRelayServerName)
relayServer = parameters.SMTPRelayServerName;
else
relayServer = parameters.SMTPServerIPAddress;
portNumber = parameters.SMTPPortNumber;
subject = 'Employees Information';
try
{
mailer = new SysMailer();
mailer.SMTPRelayServer(relayServer,portNumber, '','', parameters.NTLM);
mailer.fromAddress('support@outlook.com');
mailer.tos().appendAddress('employee@outlook.com');
// mailer.ccs().appendAddress('employee2@outlook.com');
mailer.subject(subject);
mailer.htmlBody(htmlTable.ToString());
mailer.sendMail();
}
catch (Exception::CLRError)
{
e = ClrInterop::getLastException();
while (e)
{
info(e.get_Message());
e = e.get_InnerException();
}
CodeAccessPermission::revertAssert();
info ('Email sending is failed');
}
info('Email sent');
}
Comments
Post a Comment