Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    vb6 . inviare e-mail

    per inviare mail uso questo codice

    codice:
    Dim ricevi As String
    Private Sub spedisci()
       Winsock1.Connect provider.Text, 25
       delay
       Winsock1.SendData ("HELO " & mitt.Text & vbCrLf)
       delay
       Winsock1.SendData ("MAIL FROM: <" & mitt.Text & ">" & vbCrLf)
       delay
       Winsock1.SendData ("RCPT TO: <" & dest.Text & ">" & vbCrLf)
       delay
       Winsock1.SendData ("DATA" & vbCrLf)
       delay
       Winsock1.SendData (testo.Text & vbCrLf & "." & vbCrLf)
       delay
       Winsock1.Close
       
    End Sub
    
    
    Private Sub Command1_Click()
    spedisci
    
    End Sub
    
    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
      Winsock1.GetData Dalserver, vbString
      ricevi = Dalserver
    End Sub
    
    Private Sub delay()
    ricevi = ""
    Do While ricevi = ""
    DoEvents
    Loop
    End Sub
    il problema è che va una volta su 20!!e non da mai errore...semplicemente non arriva la mail...
    ho provato con diversi smtp (libero,tiscali,tin.it) ma il risultato è sempre lo stesso...sbaglio io o c'è qualche problema al mio pc?

  2. #2
    Molti mail server ormai richiedono la SMTP-AUTH per poter inviare messaggi a domini diversi dal loro; verifica SEMPRE quello che ti risponde il server, invece di limitarti ad attendere col ciclo delay: in questa maniera stai ignorando tutti gli errori.
    Guarda questa sessione di esempio con un server di un dominio Aruba:
    codice:
    220 mxavas5.aruba.it ESMTP
    ehlo MItaly
    250-mxavas5.aruba.it
    250-AUTH LOGIN PLAIN
    250-AUTH=LOGIN PLAIN
    250-PIPELINING
    250 8BITMIME
    MAIL FROM: <MItaly>
    250 ok
    RCPT TO: <test@mitaly_fake_domain.com>
    553 sorry, you need to supply the correct username and password for SMTP-AUTH (#
    5.7.1)
    e così pure con il server di posta di html.it:
    codice:
    220 mail.hwupgrade.it NO UCE ESMTP Postfix
    EHLO MItaly
    250-mail.hwupgrade.it
    250-PIPELINING
    250-SIZE
    250-VRFY
    250-ETRN
    250 8BITMIME
    MAIL FROM: <MItaly>
    250 Ok
    RCPT TO: <test@mitaly_fake_domain.com>
    554 <test@mitaly_fake_domain.com>: Relay access denied
    Come potrai notare entrambi si rifiutano di inviare messaggi ad altri domini se il client non si è autenticato; se invece si invia una mail ad un indirizzo del loro dominio le cose cambiano:
    codice:
    220 mxavas12.aruba.it ESMTP
    EHLO MItaly
    250-mxavas12.aruba.it
    250-AUTH LOGIN PLAIN
    250-AUTH=LOGIN PLAIN
    250-PIPELINING
    250 8BITMIME
    MAIL FROM: <mitaly@x.com>
    250 ok
    RCPT TO: <ciao@dominioaruba.net>
    250 ok
    DATA
    354 go ahead
    Ciao
    .
    250 ok 1150580663 qp 21709
    Dai un'occhiata qui: http://en.wikipedia.org/wiki/SMTP_AUTH
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301
    Originariamente inviato da ranza!!!123
    per inviare mail uso questo codice [...]
    il problema è che va una volta su 20!!e non da mai errore...
    Per forza non si nota alcun errore: impartisci comandi al server senza preoccuparti di leggere quello che il server ti risponde, quindi se un comando non viene di fatto accettato, non puoi determinare che l'operazione sia andata a buon fine in quanto non leggi dal server questa informazione.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  4. #4
    scusate,errore mio...
    il controllo degli errori lo faccio...solo ke in maniera errata.
    adesso ho messo a posto,così metto in una text box tutte le risposte e in effetti mi accorgo ke da un errore.queste sono le risposte del server:

    220 smtp-out2.email.it

    250 smtp-out2.email.it

    250 Ok

    553 <prova@email.it>: Sender address rejected: not logged in as owner

    554 Error: no valid recipients

    502 Error: command not implemented
    502 Error: command not implemented


    potete illuminarmi?

  5. #5
    È un altro meccanismo antispam dello stesso genere di quello che ho indicato nella precedente risposta; il server SMTP in questione non ti lascia inviare e-mail perché non ti sei autenticato con l'indirizzo che hai indicato in "MAIL FROM:". Devi quindi autenticarti in una delle maniere consentite dal server SMTP come "prova@email.it" (nell'esempio da te indicato) e con la relativa password, e solo allora il server ti lascerà inviare l'e-mail.
    Nota importante: ho provato a replicare la tua sessione SMTP e mi dà errori differenti. Puoi postare l'intera sessione completa di server SMTP - presumo smtp-out2.email.it su porta 25 -, indirizzo inserito in "MAIL FROM:" e in "RCPT TO:" così da replicarla esattamente?
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    smtp.email.it
    mittente prova@email.it
    destinatario davide@email.it

    ho provato anke a usare l'smtp di libero e altri ma niente

    e per quanto riguarda l'autentificazione?come sarebbe la sintassi x inviare la mail autentificata?

  7. #7
    Ok, ho provato ed è come supponevo (vedi mia precedente risposta).
    e per quanto riguarda l'autentificazione?come sarebbe la sintassi x inviare la mail autentificata?
    È piuttosto complesso e non c'è la possibilità di inviare e-mail da indirizzi fasulli; prima bisogna calcolare hash di username e password, quindi inviarli al server; questo li confronta con il suo DB e se sono corretti ti lascia inviare l'e-mail. Prova a fare una ricerca in google usando come chiave qualcosa come "SMTP-AUTH".
    P.S.: usa EHLO invece che HELO come saluto iniziale.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    mi rinfreschi la differenza ke nn mi è ben kiara...
    e soprattutto dopo HELO o EHLO va bene mettere il proprio indirizzo o che cosa?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    642
    scusate , ma per mandare le email non c'e' il system.net.email, perche' usare l'oggetto winsock?

  10. #10
    sinceramente nn so cosa sia...

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