Spedire una mail da Dynamics AX

Guida che spiega quali sono le righe di codice da scrivere per spedire una mail tramite il gestionale Microsoft Dynamics AX.

Hai la necessità di creare un programma o una classe che al termine di un’elaborazione vada a spedire una mail, ma non hai la minima idea da dove cominciare e come fare? Non ti preoccupare in questo articolo andremo a risolvere ogni tuo dubbio vedendo come settare correttamente tutti i parametri e come creare un metodo che sfrutti tali parametri per l’invio di una mail.

Innanzitutto il metodo qui sotto mostrato è solamente uno dei molti modi presenti in Microsoft Dynamics AX, ma, da anni di esperienza, ritengo che esso sia quello che offre le maggiori opzioni di invio e nel contempo sia quello più facile e veloce da implementare.

Prima di cominciare a vedere il codice vero e proprio occorre aver a disposizione le seguenti informazioni relative al server SMTP da utilizzare per l’invio delle mail:

  • Server di posta in uscita
  • Numero della porta SMTP. Di default è sempre la 25
  • Nome Utente autorizzato all’invio delle mail
  • Password dell’utente autorizzato

Tali informazioni devono essere inserite all’interno della SysEmailParameters(modulo Amministrazione di sistema/Impostazioni/Parametri di posta elettronica)

spedire una mail da AX

Dopo aver impostato all’interno della form tutti i parametri possiamo finalmente procedere con la creazione del nostro metodo. Nell’esempio qui sotto riportato vado a spedire una mail ad un determinato indirizzo mettendo in copia conoscenza l’indirizzo email di contoso.

//Metodo creato da Faion il 29/05/2017 per l'invio delle mail sfruttando i parametri di posta elettronica
static void InviaMail(Args _args)
{
    //Dichiarazione delle variabili
    str                     cc;
    SysMailer               mailer      = new SysMailer();
    SysEmailParameters      parameters  = SysEmailParameters::find();
    ;
 
    //Specifico gli utenti che riceveranno la mail in CC
    cc = "[email protected]";
    
    //Mi ricavo i parametri per spedire la mail
    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);
    }
    
    //Mittente della mail
    Mailer.fromAddress("[email protected]");
    
    //Oggetto della mail
    Mailer.subject("Prova invio mail da AX");
    
    //Aggiungo gli utenti in CC
    Mailer.ccs().appendAddress(cc);
    
    //Aggiungo i destinatari della mail
    Mailer.tos().appendAddress('[email protected]');
    
    //Corpo della mail-->si possono usare i tag HTML
    Mailer.htmlBody("Buongiorno, questa è una mail di test");
    
    //Invio la mail
    Mailer.sendMail();
}

Alla mail possono essere anche aggiunti:

  • Utenti in copia conoscenza nascosta(BCC)
  • Allegati

*Metodo testato per la versione 4 di Microsoft Dynamics AX.

Ti potrebbe interessare anche:


 

Condividi con i tuoi amici

Articoli Correlati

Informazioni su Andrea Faion 407 Articoli
FAION ANDREA. Ho 32 anni e sono diplomato in informatica presso l'ITIS Kennedy di Pordenone. Da sempre appassionato a tutto ciò che concerne il mondo dell'informatica.

Commenta per primo

Lascia un commento