Inviare fax da una applicazione usando .net


Descrizione di due opzioni per mandare fax attraverso una proprio applicazione: collegandosi ad un servizio esterno o usando WinFax in interoperabilità

Quando si scrivono dei gestionali, che servono a risolvere i problemi di gestione operativa di un’azienda, alle volte c’è la richiesta di poter spedire in automatico dei fax.

Con mio grande dolore, purtroppo il mondo ha ancora bisogno di usare tanta carta. Soprattutto per quanto riguarda le questioni legali. I tribunali affogano nella carta, la legge vive su documenti di carta ed il processo della completa digitalizzazione degli aspetti legali e commerciali sta ancora muovendo i primi timidi passi. Molto timidi, visto che per prendere una casella di posta certificata offerta dal ministero dell’innovazione tecnologica, bisogna andare in un ufficio postale.

Tralasciando questo argomento che magari sarà oggetto di un futuro articolo, il problema è come fare da un applicazione web o windows ad automatizzare la spedizione di un fax?

 

Possiamo pensare a due modi. Il primo molto semplice consiste di appoggiarsi ad un servizio esterno. Senza fare pubblicità a nessuno, basta andare si google e scrivere “fax mail”, e troveremo decine di servizi italiani e stranieri che permettono di inviare un fax, semplicemente spedendo una mail. Nell’oggetto generalmente si scrive il numero a cui mandare il fax, e come testo della mail o come allegato, si trova il documento da inviare. Banalissimo da implementare in quanto ogni linguaggio ha le sue primitive per l’invio di mail.

In alcuni casi questa strada non è perseguibile, perché magari il server dove gira l’applicazione non è direttamente connesso ad internet. In questo caso avremo bisogno di un fax server.

Winfax è un fax server, ha un sacco di funzionalità che non staremo ora a descrivere, la cosa che interessa ora è che da la possibilità di interfacciarsi tramite programmazione. Per farlo basta inserire nel nostro progetto in .net il riferimento alla dll FAXCOMlib ed una volta fatto questo potremo instanziare e pilotare Winfax.

Vediamo un esempio di codice: 

dim faxMachine As FAXCOMLib.FaxServerClass
dim faxNumber as string
dim myFax As Object
dim result as int32
faxMachine = New FAXCOMLib.FaxServerClass
myFax = faxMachine.CreateDocument("c:\testing_fax.doc") ' il percorso del file da spedire come fax
faxNumber = "12345678" ' numero di telefono
faxMachine.Connect("MyComputer") ' MyComputer è il nome della macchina su cui gira WinFax
myFax.faxnumber = faxNumber
result = myFax.send() ' invio del documento
faxMachine.Disconnect() ' disconnessione del fax



Post correlati: