Inviare una mail (con allegato) utilizzando CDOSYS
La libreria CDOSYS, come descritto qui http://msdn.microsoft.com/en-us/library/aa505938.aspx, è una implementazione del protocollo SMTP, e consente di mandare agevolmente mail da sistemi basati su Windows XP e 2000, dove queste librerie sono presenti di default.
Il codice sottostante fa parte di una macro in ambiente Excel 2007, e gira sia sotto XP che Vista.
Public Function inviaMailSMTP(server As String, mittente As String, destinatario As String, oggetto As String, testo As String, allegato As String) As StringDim iMsg As Object Dim iConf As Object Dim Flds As ObjectOn Error GoTo error_handler Set iMsg = CreateObject("CDO.Message") Set iConf = CreateObject("CDO.Configuration") iConf.Load -1 Set Flds = iConf.Fields With Flds .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = server .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Update End With With iMsg Set .Configuration = iConf .To = destinatario .CC = "" .BCC = "" .From = mittente .Subject = oggetto .TextBody = testo 'Invio con allegato If allegato > "" Then .AddAttachment allegato .Send End With inviaMailSMTP = "Invio corretto." Exit Function error_handler: inviaMailSMTP = "Errore: " & Err.Description End Function |
Leave a Reply