Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - aiuto winsock!!
Forum - Visual Basic 6 - aiuto winsock!!

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:39
Mercoledì, 19/09/2007
Ciao!!
Ho dei problemi con winsock. Io vorrei ke se, ad esempio, premuto un pulsante grazie a winsock viene inviata una e-mail intitolata prova e con scritto ciao a (x esempio) esempio@esempio.it
Grazie in anticipo!!!

p.s. Voglio sapere come inviare e-mail solo con l'oggeto winsock e non con altre cose, come ad esempio utilizzando il programma esterno Outlook

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 17:46
Mercoledì, 19/09/2007
Devi contattare il tuo server SMTP ed usare il protocollo omonimo per l'invio.

Dato che non conosci i risvolti del problema e parti da zero, ti dico che non e' una passeggiata ...

Ti consiglio di scaricare e studiare i sorgenti della DLL VbSendMail ... la trovi con google ...

PM Quote
Avatar
iGuLy (Ex-Member)
Pro


Messaggi: 66
Iscritto: 17/05/2007

Segnala al moderatore
Postato alle 18:36
Mercoledì, 19/09/2007
Per la sub dell'invio dovresti usare un codice di questo tipo:
Codice sorgente - presumibilmente Delphi

  1. 'sub per l'invio
  2. Sub send(Address As String, From As String, Name As String, ToName, Oggetto As String, server As String, messaggio As String)
  3.     With ws
  4.         If .State = sckClosed Then
  5.             DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd Mmm YYYY") & " " & Format(Time, "hh:mm:ss") & "" & " -0600"
  6.             primo = "mail from: " & From & vbCrLf
  7.             secondo = "rctp to: " & Address & vbCrLf
  8.             terzo = "Date: " & DateNow & vbCrLf
  9.             quarto = "From: """ & Name & """ <" & From & ">" + vbCrLf
  10.             quinto = "To: " & ToNametxt & vbCrLf
  11.             sesto = "subject: " & Oggetto & vbCrLf
  12.             settimo = messaggio & vbCrLf
  13.             NintH = "Mail Sender 1.0 " & vbCrLf
  14.             .LocalPort = 0
  15.             .Protocol = sckTCPProtocol
  16.             .RemoteHost = server
  17.             .RemotePort = 25
  18.             .Connect
  19.             WaitFor ("250")
  20.             txtStato.caption = "Connessione..."
  21.             .SendData ("HELO iGuLySoft 2007" & vbCrLf)
  22.             WaitFor ("250")
  23.             txtStato.caption = "Connesso"
  24.             WaitFor ("250")
  25.             txtStato.caption = "Invio in corso"
  26.             .SendData (primo)
  27.             WaitFor ("250")
  28.             .SendData (secondo)
  29.             WaitFor ("250")
  30.             .SendData ("data" & vbCrLf)
  31.             WaitFor ("250")
  32.             .SendData (quarto & terzo & NintH & quinto & sesto & vbCrLf)
  33.             .SendData (settimo & vbCrLf)
  34.             .SendData ("." & vbCrLf)
  35.             WaitFor ("250")
  36.             .SendData ("quit" & vbCrLf)
  37.             txtStato.caption = "Disconnesso"
  38.             WaitFor ("221")
  39.             .Close
  40.         Else
  41.             MsgBox (Str(.State))
  42.         End If
  43.     End With
  44. End Sub


Per quella del button:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub CmdSendMail_Click()
  2.     send txtDestinatario.Text, txtMittente.Text, txtNome.Text, txtDestinatario.Text, txtOggetto.Text, server.Text, txtMessaggio.Text
  3. End Sub


Mentre poi dovresti mettere anche una sub per l'attesa:
Codice sorgente - presumibilmente VB.NET

  1. 'sub di attesa e risposta
  2. Sub WaitFor(ResponseCode As String)
  3.     Start = Timer
  4.     While Len(Response) = 0
  5.         Tmr = Start - Timer
  6.         DoEvents
  7.         If Tmr > 50 Then '
  8.             MsgBox "SMTP service error, timed out while waiting for response", 64, "Error SMTP"
  9.             Exit Sub
  10.         End If
  11.     Wend
  12.     While Left(Response, 3) <> ResponseCode
  13.         DoEvents
  14.         If Tmr > 50 Then
  15.            MsgBox "SMTP service error, impromper response code. Code should have been: " + ResponseCode + " Code recieved: " + Response, 64, "Error SMTP"
  16.            Exit Sub
  17.         End If
  18.     Wend
  19.     Response = "" '
  20. End Sub


Spero di essere stato chiaro.

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:55
Mercoledì, 19/09/2007
Grazie a tutti e 2 x avermi risposto.
@gatonio: seguirò il tuo consiglio.
@iGuly: grazie x il codice.
Se avrò problemi riposterò.

Ultima modifica effettuata da GrG il 19/09/2007 alle 18:58
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:13
Mercoledì, 19/09/2007
@gatonio: perdona la mia ignoranza, ma come faccio a contattare il mio server SMTP??
Cmq la dll vbSendMail c'è l'ho.

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 20:22
Mercoledì, 19/09/2007
Il server SMTP e' quello fornito dal tuo provider. Lo dovresti avere inserito nella configurazione del tuo client di posta.

@iGuLy
Se vuoi "tradurre" in italiano un programma inglese trovato su internet, almeno fallo completamente ... Ninth=nono

Ultima modifica effettuata da gantonio il 19/09/2007 alle 20:22
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:24
Giovedì, 20/09/2007
..:OK:..

PM Quote
Avatar
Maffo23 (Ex-Member)
Pro


Messaggi: 63
Iscritto: 14/12/2006

Segnala al moderatore
Postato alle 20:30
Sabato, 22/09/2007
Cercate nel sito il programma GhostMail...è ottimo e vi chiarirà tutto

PM Quote
Avatar
iGuLy (Ex-Member)
Pro


Messaggi: 66
Iscritto: 17/05/2007

Segnala al moderatore
Postato alle 21:41
Sabato, 22/09/2007
guarda che ninth l'ho messo io per abbreviare, l'inglese lo conosco; e poi il primo esempio che mi è capitato l'ho preso.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo