Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    VB6 Mandare mail senza usare Outlook

    ciao a tutti,
    avrei bisogno di qualche aiuto per quanto riguarda l'invio di mail utilizzando VB6.
    premetto che non ho mai usato VB in vita mia e non sono un esperto programmatore quindi sentitevi liberi di mandarmi a quel paere nel caso in cui chieda cose troppo scontate^^.

    il mio problema consiste nel dover creare e poi inviere una mail , inizialmente ho creato questa funzione
    codice:
    Public Function SendMailByOutlook(val As String) As Boolean
       
        Dim osession As MAPI.session
        Dim omessage As Message
        Dim oRecip As Recipient
        Set osession = CreateObject("MAPI.Session")
        osession.Logon
        Set omessage = osession.Outbox.Messages.Add
        omessage.Subject = "prova"
        Set oRecip = omessage.Recipients.Add("indirizzoDestinatario")
        oRecip.Resolve
        omessage.Text = val
        omessage.Send , True
        osession.Logoff
        SendMailByOutlook = True
       End Function
    il metodo funziona perfettamente solo che usando la libreria MAPI purtroppo usa per forza l'outlook installato sul pc dove faccio partire il programmino , crea una mail con quello che poi devo spedire a mano schiacciando su invia.

    ho allora cercato un po sulla rete tutti i suggerimenti su come mandare una mail senza usare outlook anche perche voglio poter utilizzare tale programma anche su pc in cui non è installato e dopo un giorno di ricerche ho deciso di provare con la libreria CDO , dopo una mezza giornata spesa a cercare dove fosse e come aggiungerla ho fatto questo nuovo metodo:

    codice:
    Public Function SendMailNoOutlook() As Boolean
     
        
         
        ' Create a new Email
        Dim objNewMail As CDO.Message
        Set objNewMail = New CDO.Message
     
        Dim objConfig As CDO.Configuration
        Set objConfig = New CDO.Configuration
    
        Dim objFlds
        Set objFlds = objConfig.Fields
       
        objFlds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1  ' cdoSendUsingPickup
        objFlds("http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion") = True
        objFlds("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "C:\mailroot\Pickup"
       
        objFlds.Update
    
        objNewMail.Configuration = objConfig
       
        ' Fill in required fields
        objNewMail.To = "prova@tiscali.it"
       
        'Note: the Replace is used so that the domain separators will be kept
        objNewMail.From = "pippo@ciao.it"
        On Error GoTo Errori
        objNewMail.Subject = "soggetto"
    
        objNewMail.TextBody = "testo text"
    
        ' Send it
        objNewMail.Send
       
        SendMailNoOutlook= True
    End Function
    purtroppo pero questo metodo non funziona del tutto, e quindi volevo chiedere qualche consiglio piu in particolare volevo sapere se:
    -per funzionare devo aver installato qualche cosa di specifico sul pc? (invento: iis, exchange? etc)
    - nelle proprietà in "smtpserverpickupdirectory" cosa devo mettere? all'inizio non lo avevo nemmeno messo ma mi dava un errore poi ho visto in molti esempi che mettevano "C:\mailroot\Pickup" e cosi ho copiato ma purtroppo se faccio partire il programma mi crea semplicemente un file mail in quel folder ma non viene inviato , resta li e se lo apro crea ancora una mail con outlook.....
    - ultima cosa ho visto che nella proprietà "sendusing" dove ora c'e 1 (cdoSendUsingPickup) posso mettere 2 (cdoSendUsingPort) cosa cambia? io credo ( ma correggetemi se sto dicendo stupidate che sia per mandare la mail da un server smtp esterno ) io ho provato con

    codice:
    objFlds("http://schemas.microsoft.com/cdo/configuration/sendusing")     = 2    ' cdoSendUsingPort
            objFlds("http://schemas.microsoft.com/cdo/configuration/smtpserver")= "smtp.tiscali.it"
    ma se eseguo mi dice che non riesce a connettersi con il server e in effetti mi pare anche strano che non mi debba autenticare...

    grazie anticipatamente, spero che qualcuno riesca ad aiutarmi anche perche sto diventando pazzo con questa cosa....

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usa la DLL

    VBSendMail

    Trovi anche i sorgenti su Internet
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.