Skip to main content

Send Email for port 465 or 587 using Axapta

 public void email(filename ReportPath)

{

    System.Net.Mail.MailMessage             mailMessage;

    System.Net.Mail.SmtpClient              myMail;

    System.Net.Mail.MailAddressCollection   mailcoll;

    System.Net.Mail.MailAddress             mailFrom;

    System.Net.Mail.MailAddress             mailTo;

    System.Net.Mail.Attachment              attachment;

    System.Net.Mail.AttachmentCollection    attachementCollection;


    str                                     ToEmail;

    str                                     mailBody;

    str                                     smtpServer;

    str                                     mailSubject;

    int                                     SMTPPort;



    #File

    str                 mail;

    userinfo            userInfo;

    str pwd;

    SysEmailParameters parameters = SysEmailParameters::find();

    ;

    new InteropPermission(InteropKind::ClrInterop).assert();


    ToEmail = HcmWorker.email();


    if(ToEmail != "") // check if email id exists for employee then send a mail

    {


            mailSubject         = "Pay slip for "+ mthName(Monthname) +"-"+int2str(YearName);

            mailFrom            = new  System.Net.Mail.MailAddress(parameters.SMTPUserName ,"DAX Info");

            mailTo              = new  System.Net.Mail.MailAddress(ToEmail);

            mailcoll            = new  System.Net.Mail.MailAddressCollection();

            mailBody            = "Hello "+HcmWorker.name()+", Kindly Find the attachment salary slip"; // Body Should be in HTML Format;



            try

            {

            smtpServer          = SysEmaiLParameters::find(false).SMTPRelayServerName;// using the SMTP server ip //setup in email Parameters

            mailMessage         = new System.Net.Mail.MailMessage(mailFrom,mailTo);

            mailmessage.set_Subject(mailSubject);

            mailmessage.set_Body(mailBody);


            attachementCollection = mailMessage.get_Attachments();

            attachment = new System.Net.Mail.Attachment(ReportPath);

            attachementCollection.Add(attachment);



            SMTPPort            = SysEmaiLParameters::find(false).SMTPPortNumber;

            myMail              = new System.Net.Mail.SmtpClient(smtpServer, SMTPPort);


            myMail.set_EnableSsl(true); // For SSL enabled mail servers. Ex: gmail, smtp.gmail.com, port 465 or 587


            pwd = SysEmaiLParameters::password();


            mymail.set_Credentials(New System.Net.NetworkCredential(parameters.SMTPUserName, pwd));


            mymail.Send(mailmessage);

            }

            catch(Exception::CLRError)

            {

               throw Exception::CLRError;

            }


            mailMessage.Dispose();

            CodeAccessPermission::revertAssert();

    }

}

Popular posts from this blog

X++ Code to run SSRS Report with parameter in D365 F&O (Example Sales Invoice )

Below is sample X++ Code to run SSRS Report with parameter in D365 F&O (Example Sales Invoice )      Args                       args = new Args();     CustInvoiceJour            custInvoiceJour;     SalesInvoiceJournalPrint   salesInvoiceJournalPrint;       select firstonly custInvoiceJour where custInvoiceJour.SalesId != '';       // Add record to be printed.     // In order to have the context table we need to set args.record().     args.record(custInvoiceJour);       salesInvoiceController = new SalesInvoiceController();     salesInvoiceController.parmReportName(         PrintMgmtDocType::construct(PrintMgmtDocumentType::SalesOrderInvoice).getDefaultReportFormat());       salesInvoiceContract = salesInvoiceController.parmReportContrac...

Sales order posting Error - Voucher do not balance as per date in axapta 2012

Problem - How to get rid of this error if its coming while doing the sales invoice . "The transactions on voucher V-00001 do not balance as per 4/11/2014. (accounting currency: -1111- reporting currency: -232) " .  Suggestions: 1.Exchange rate setup , number sequence of invoice voucher, currency rounding all are done correctly , but still this error exists 2.Define currency for each account..or go in currency setup and check currency and rounding up rules 3.Check with penny difference in GL 4.Check there is proper conversion exchange rate defined for reporting currencies. 5. Check Rounding of option of for primary and reporting currencies both. 6.Check all the posting accounts defined in Posting profiles 7.check COGS, Customer, issue, revenue accounts are mapped. 8.Check primary and reporting currency has proper exchange rates and rounding rules defined. 9.Try to increase the value in the penny difference and then post the sales invoice. 10. Make sure ...