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:
- Come inviare una mail da Microsoft Dynamics AX
- Come creare un documento PDF da Microsoft Dynamics AX
Commenta per primo