Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    [VBScript] Inviare una mail con allegato

    Ciao a tutti.
    La domanda che vi pongo è proposta su due punti:

    1) E' possibile inviare una mail tramite VBScript? (credo che la risposta sia sì)

    2) Se è possibile, come faccio?

    Tenete presente che ho la necessità di inserire un allegato nella mail.

    Io ho consultato mamma MSDN ed ho provato a scrivere questo codice:
    codice:
    Public Sub InviaMail
       Dim iConf   ' Configurazione mail
       Dim Flds    ' Campi della configurazione
       Dim iMsg    ' Il messaggio di posta
    
       iConf = CreateObject("CDO.Configuration")
       Set Flds = iConf.Fields
    
       Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver")               = "smpt.host.it"
       Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport")           = 25
       Flds("http://schemas.microsoft.com/cdo/configuration/sendusing")                = 2  ' CdoSendUsing = 2
       Flds("http://schemas.microsoft.com/cdo/configuration/smtpaccountname")          = "LeleFT"
       Flds("http://schemas.microsoft.com/cdo/configuration/sendemailaddress")         = """LeleFT"" <mioIndirizzo@host.it>"
       Flds("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate")         = 1   ' cdoBasic = 1
    
       Flds("http://schemas.microsoft.com/cdo/configuration/sendusername") = "mioNomeUtente"
       Flds("http://schemas.microsoft.com/cdo/configuration/sendpassword")    = "miaPassword"
       Flds.Update
    
       Set iMsg = CreateObject("CDO.Message")
       Set iMsg.Configuration = iConf
    
       iMsg.AddAttachment( strExcelPath )
       iMsg.Subject = "Excel"
       iMsg.TextBody = "Messaggio contenente un allegato Excel"
    
       iMsg.Send
    End Sub
    Questo codice, però, mi dà il seguente errore, nella riga in grassetto:

    Proprietà o metodo non supportati dall'oggetto iConf.Fields

    Sapete aiutarmi? Fornirmi un modo alternativo, anche meno laborioso?

    Grazie mille a tutti.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Sta parlando di linguaggi lato server... ti sposto su ASP
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Dai uno sguardo qua:

    se le tue pagine "girano" su un server win 2000 devi utilizzare il componente CDONTS, eccoti un esempio:
    http://www.weppos.com/asp/script/scr....asp?script=16


    se le tue pagine "girano" su un server win 2003 devi utilizzare il componente CDOSYS, eccoti un esempio:
    http://www.weppos.com/asp/script/scr....asp?script=17
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Non sto parlando di linguaggio lato server (pagine internet)... sto parlando di un semplice script VBScript... un semplicissimo file VBS da eseguire con un doppio clic...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Prendendo spunto dal primo link fornitomi da maximum, ho provato questo codice (che mi sembrava anche abbastanza interessante, snello e semplice):
    codice:
    Public Sub InviaMail
       Dim objMail
       
       Set objMail = CreateObject("CDONTS.NewMail") 
    
       ' Assegna all'oggetto le proprietà necessarie 
       objMail.From      = "mioIndirizzo@host.it"          ' Mittente 
       objMail.To        = "destinatario@host.it"          ' Destinatario 
       objMail.Subject   = "Excel"                         ' Oggetto 
       objMail.Body      = "Messaggio con allegato Excel"  ' Messaggio 
       objMail.AttachFile(strExcelPath)                    ' Allegato
    
       ' Impostiamo la formattazione 
       objMail.BodyFormat = 1                             ' 0 Testo; 1 HTML 
       objMail.MailFormat = 1                             ' 0 Testo; 1 HTML 
    
       ' Invia l'email 
       objMail.Send 
    
       Set objMail = Nothing 
    End Sub
    Ma mi dà questo errore (e io me l'aspettavo pure...):

    Il componente ActiveX non può creare l'oggetto CDONTS.NewMail

    Qualche altra soluzione?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Le tue pagine girano su server 2000 o 2003?
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Non ho nessuna pagina... ho solo il file VBS. Non ho bisogno di alcun browser. Devo solo automatizzare una procedura, la quale richiede anche l'invio di un file via mail.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    scusa ma prova nel forum di VBS a chiedere

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    E' quello che ho fatto... ma br1 riteneva che si trattasse di scripting lato server...

    Attendo che mi rispostino su VBS...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    per parlare di vbs secondo me il forum giusto è più questo che non quello di scripting.
    per inviare una mail devi innanzitutto capire quale oggetto utilizzare (cdonts, cdosys, aspemail, ecc) e puoi testarlo semplicemente provando a creare l'oggetto (se ti restituisce errore non c'è)

    il vero problema secondo me è l'allegato, in quanto con asp per spedire mail con degli allegati questi devono preventivamente essere uploadati sul server (passaggio che in questo caso manca)

    in alternativa forse (ma dovrei provare) potresti provare ad interagire direttamente dal file vbs con outlook o altro programma di posta (io lo facevo da access a outlook, ma magari si può provare anche qui)
    xxx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.