Here is one sample that works for me.
static void emailThruSysMailer(Args _args)
{
SysMailer mailer = new SysMailer();
SysEmailParameters parameters = SysEmailParameters::find();
System.Exception clrError;
if (parameters.SMTPRelayServerName)
{
mailer.SMTPRelayServer(parameters.SMTPRelayServerName,
parameters.SMTPPortNumber,
parameters.SMTPUserName,
SysEmailParameters::password(),
parameters.NTLM);
}
else
{
mailer.SMTPRelayServer(parameters.SMTPServerIPAddress,
parameters.SMTPPortNumber,
parameters.SMTPUserName,
SysEmailParameters::password(),
parameters.NTLM);
}
mailer.fromAddress(parameters.SMTPUserName);
mailer.tos().appendAddress(toAddress);
mailer.htmlBody("hi");
mailer.attachments().add(@'C:\test.jpg');
try
{
mailer.sendMail();
info("Sent");
}
catch(Exception::CLRError)
{
clrError = CLRInterop::getLastException();
while (clrError != null)
{
error(clrError.get_Message());
clrError = clrError.get_InnerException();
}
}
}
Or you can also try to use following
static void emailThruSysMailer(Args _args)
{
str fromAddress = "fromAddress";
str toAddress = "toAddress";
str subject = "Mail From AX";
str body = "Howdy Ax User";
str cc = "ccAddress";
str attachmentPath = @"C:\test.jpg";
SysMailer mailer = new SysMailer();
mailer.quickSend(fromaddress, toAddress, subject, body, cc, attachmentPath);
}