Allegare un file ad una mail da AX

Guida alla realizzazione di un programma che permette di allegare un file ad una mail tramite il gestionale Microsoft Dynamics AX.

Hai la necessità, all’interno di Microsoft Dynamics AX, di creare un metodo che permetta di allegare un file ad una mail, ma non sai come fare? Hai provato a cercare in Internet su qualche forum ma non hai trovato niente? Beh, oggi è il tuo giorno fortunato. Infatti, in questo articolo, ti mostrerò quali sono le righe di codice da implementare per risolvere il tuo problema.

Nell’esempio qui sotto riportato vado ad allegare ad una mail, inviata all’utente [email protected], due file Excel presenti nel Desktop.

//Metodo creato da Faion il 29/05/2017 per l'invio delle mail con allegati sfruttando i parametri di posta elettronica
static void InviaMail(Args _args)
{
    //Dichiarazione delle variabili
    str                     cc;
    SysMailer               mailer      = new SysMailer();
    SysEmailParameters      parameters  = SysEmailParameters::find();
    
    //due file da allegare alla mail
    Filename                Allegato1   = @"C:\Users\Utente\Desktop\Allegato1.xlxs",
                            Allegato2   = @"C:\Users\Utente\Desktop\Allegato2.xlxs";
    ;
 
    //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 con allegati da AX");
    
    //Aggiungo gli utenti in CC
    Mailer.ccs().appendAddress(cc);
    
    //Aggiungo i destinatari della mail
    Mailer.tos().appendAddress('[email protected]');
    
    //Vado ad allegare il primo file
    Mailer.attachments().add(Allegato1);
    
    //Vado ad allegare il secondo file
    Mailer.attachments().add(Allegato2);
    
    //Corpo della mail-->si possono usare i tag HTML
    Mailer.htmlBody("Buongiorno, questa è una mail di test");
    
    //Invio la mail
    Mailer.sendMail();
}

Rispetto ad un invio semplice è stata aggiunta la seguente riga di codice:

Mailer.attachments().add(str _url)

Dove _url sta per il percorso completo del file.

Nota bene: E’ possibile, modificando adeguatamente il programma, ciclare all’interno di una cartella ed allegare tutti i file presenti in essa. Attenzione però alla dimensione dei file ed al numero di file allegati. Sopra una certa dimensione/ numero il programma andrà in crash.

*Metodo creato e testato sulla versione 4 di Microsoft Dynamics AX.

Ti potrebbe interessare anche:


 

Condividi con i tuoi amici

Articoli Correlati

Informazioni su Andrea Faion 408 Articoli
FAION ANDREA. Ho 35 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