Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    4

    System.net.Mail ed invio immediato

    Buongiorno a tutti.
    Premetto che quello che vi stò per chiedere non è per la realizzazione di un programma "nocivo", ma per un applicativo con fini informativi.
    La questione è questa:

    Dim oMsg As New MailMessage
    Dim Destinatari() As String
    Dim oSmtp As New SmtpClient(smtpclient)
    Dim oUserTocken As Object = oMsg

    Try
    oMsg.From = New MailAddress(EmailMittente, NomeMittente)
    Destinatari = Split(EmailDestinario, ";")
    For i As Integer = Destinatari.GetLowerBound(0) To Destinatari.GetUpperBound(0)
    oMsg.To.Add(Destinatari(i))
    Next
    oMsg.IsBodyHtml = True
    oMsg.BodyEncoding = System.Text.Encoding.UTF8
    oMsg.Subject = Subject
    oMsg.Body = Messaggio
    oMsg.IsBodyHtml = True
    oMsg.Priority = MailPriority.High
    oSmtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDir
    oSmtp.UseDefaultCredentials = True
    oSmtp.SendAsync(oMsg, oUserTocken)
    Catch ex As System.Exception
    Console.WriteLine(ex.Message.ToString)

    Finally
    oMsg.Dispose()

    End Try

    Il problema è il seguente. Il messaggio non viene spedito durante l'esecuzione del programma, ma solamente al suo stop. Ossia: se genera 10 email, queste verranno spedite solamente al alla pressione dello stop (in debug) e mai prima. Naturalmente, non è quello che voglio.
    Quello che vorrei è un invio immediato della email. Naturalmente senza nessuna necessità di stoppare il programma.

    Ringrazio tutti in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    4
    Scusate. Aggiungo anche il fatto che cambiando questo proprietà, la cosa con cambia:

    oSmtp.DeliveryMethod = SmtpDeliveryMethod.Network

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Perché hai usato il metodo SendAsync?

    Hai letto sulla documentazione MSDN il suo significato e le istruzioni per il corretto uso della classe?

    P.S.: il linguaggio va sempre indicato nel titolo, come da Regolamento... qui l'ho aggiunto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    4
    Originariamente inviato da alka
    Perché hai usato il metodo SendAsync?

    Hai letto sulla documentazione MSDN il suo significato e le istruzioni per il corretto uso della classe?

    P.S.: il linguaggio va sempre indicato nel titolo, come da Regolamento... qui l'ho aggiunto io.
    Scusami prima di tutto per il mio errore con il titolo.
    Ho usato quel metodo solamente per il fatto che il metodo send ha sempre funzionato, e volevo vedere se cambiava qualcosa.

    Tra l'altro, ho notato che in compilato funziona senza problemi, mentre invece in debug non si riesce. Come mai? Qualche applicativo COM nascosto che rimane appeso?

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Originariamente inviato da ziosimu
    Ho usato quel metodo solamente per il fatto che il metodo send ha sempre funzionato, e volevo vedere se cambiava qualcosa.
    Se con Send funzionava, perché avresti dovuto usare un metodo differente? :master:

    Ciò che rimane in sospeso è probabilmente un thread, visto che richiami un metodo che esegue in modo asincrono.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.