Sometimes happen that SysMailer class (using CDO) is not the right solution for sending mails with attachments. There is a little sample of X++ Job that is using System.Net.Mail namespace to achieve same.
static void JobNETSendMail(Args _args) { System.Net.Mail.MailMessage mailMessage; System.Net.Mail.Attachment attachment; System.Net.Mail.AttachmentCollection attachementCollection; System.Net.Mail.SmtpClient smtpClient; System.Net.Mail.MailAddress mailAddressFrom; System.Net.Mail.MailAddress mailAddressTo; str strBody; str strSMTPServer; str strFileName; FileIOPermission perm; ; // preparing parameters mailAddressFrom = new System.Net.Mail.MailAddres"test@localmail.com", ""); mailAddressTo = new System.Net.Mail.MailAddress("admin@localmail.com",""); strBody = "There is a email body"; strSMTPServer = "MailServerName"; // preparing mail with body, subject, from, to. mailMessage = new System.Net.Mail.MailMessage(mailAddressFrom, mailAddressTo); mailmessage.set_Subject("There is a email subject"); mailmessage.set_Body(strBody); attachementCollection = mailMessage.get_Attachments(); strFileName = "C:pathfilename"; // assert permision perm = new FileIOPermission(strFileName,'w'); perm.assert(); // attaching file to that email. attachment = new System.Net.Mail.Attachment(strFileName); attachementCollection.Add(attachment); smtpClient = new System.Net.Mail.SmtpClient(strSMTPServer); smtpClient.Send(mailmessage); // release permision CodeAccessPermission::revertAssert(); }
Microsoft Dynamics AX Blog *Axapta V/s Me*: Sending mail from AX using .NET Framework