Newsgroup: it.comp.lang.visual-basic
Titolo: Uffa Winsock

Ciao a tutto il NG.
Sto realizzando il mio programmino ed ho riscontrato delle difficoltà nel
configurare il Winsok.
Qui di sotto vi ho postato il codice sorgente relativa alla perte del
comando che mi serve sistemare.
Il mio programma è una semplice applicazionbe per spedire mail con
pochissimi campi elencati sotto.
Aiutatemi sto impazzendo.
nella perte generale ho inserito il seguente codice:
Sub
 SendEmail(MailServerName As String, FromName As String, FromEmailAddress As
String, ToEmailAddress As String, EmailSubject As String, EmailAttacment As
String, EmailBodyOfMessage As String)
       Winsock1.LocalPort = 0 ' Setta la porta locale a zero
              If Winsock1.State = sckClosed Then ' Verifica che il socket
sia chiuso
                     DateNow = Format(Date, "Ddd") & ", " & Format(Date, "dd
Mmm YYYY") & " " & Format(Time, "hh:mm:ss") & "" & " -0600"
                     First = "mail from:" + Chr(32) + Text2 + vbCrLf '
E-Mail di chi invia
                     Second = "rcpt to:" + Chr(32) + lstRecipient + vbCrLf '
e-mail ricevente
                     Third = "Date:" + Chr(32) + DateNow + vbCrLf ' Data di
invio
                     Fourth = "To:" + Chr(32) + lstRecipient + vbCrLf '
Ricevente
                     Fifth = "Subject:" + Chr(32) + txtOggetto + vbCrLf '
Soggetto E-mail
                     Sixth = "Attacment:" + Chr(32) + txtAttacment + vbCrLf
' Allegato E-mail
                     Seventh = Messaggio + vbCrLf ' Messaggio E-mail
                     Winsock1.protocol = sckTCPProtocol ' Setta il
protocollo per l'invio
                     Winsock1.RemoteHost = txtSmtp ' Setta l'indirizzo del
server
                     Winsock1.RemotePort = 25 ' Setta la porta SMTP
                     Winsock1.Connect ' Avvia la connessione
                     WaitFor ("220")
                     StatusTxt.Caption = "Connessione in corso...."
                     StatusTxt.Refresh
                     WaitFor ("250")
                     StatusTxt.Caption = "Connessione Effettuata"
                     StatusTxt.Refresh
                     Winsock1.SendData (First)
                     StatusTxt.Caption = "Sto inviando il messaggio"
                     StatusTxt.Refresh
                     WaitFor ("250")
                     Winsock1.SendData (Second)
                     WaitFor ("250")
                     Winsock1.SendData ("data" + vbCrLf)
                     WaitFor ("354")
                     Winsock1.SendData (Eighth + vbCrLf)
                     Winsock1.SendData (Seventh + vbCrLf)
                     Winsock1.SendData ("." + vbCrLf)
                     WaitFor ("250")
                     Winsock1.SendData ("quit" + vbCrLf)
                     StatusTxt.Caption = "Disconnessione"
                     StatusTxt.Refresh
                     WaitFor ("221")
                     Winsock1.Close
              Else
                     MsgBox (Str(Winsock1.State))
              End If
End Sub
Per quanto riguarda il command button (invia) questo è il codice:
Private Sub Command1_Click()
SendEmail txtSmtp.Text, lstRecipient.Text, txtAttacment.Text,
txtOggetto.Text, txtMessaggio.Text
       StatusTxt.Caption = "Invio Messaggio in corso ATTENDERE"
       StatusTxt.Refresh
       Beep
       Close
End Sub
Mi da un errore di argomento non Facoltativo e mi segna in giallo "Private
Sub Command1_Click()"
Cosa ho sbagliato?
Io ho chiamato:
txtOggetto: la textbox per l'oggetto
txtAttacment: quella per l'allegato
lstRecipient: la listbox per gli indirizzi
txtMessaggio: la textbox per il messaggio
text2: quella per la mia mail
txtSmtp: quella per l'Smtp

 Cosa ho sbagliato?
hehehe... hai dato per errore un valore alla proprietà Index del Command1.
Le soluzioni sono 2:
1) Vai a togliere il valore dalla proprietà Index del Command1
2) Fai diventare l'evento cosi':
    Private Sub Command1_Click( index as integer )
(se ricordo bene è di tipo index è di tipo integer)
 /\/\/\/\/\/\/\/\/\/
| Una iniziativa a livello di questo NG:
| Partecipa alla stesura di progetti VB sviluppati in team, informati sul
Sito Comune
| sezione Leonardo.  Io partecipo al progetto Data Raptor, alleati con noi.
 \/\/\/\/\/\/\/\/\/\
Ciao
Ettore Maronese, il Mes
http://www.maronese.com/mes
Sito Comune di questo NG
http://www.murialdo.it/it_lang_vb

Debo aggiungere solo queste due parole, perchè qui non funziona ugualmente.
fammi sapere. Ciao e grazie


Sub SendEmail(MailServerName As String, FromName As String, FromEmailAddress
As String, ToEmailAddress As String, EmailSubject As String, EmailAttacment
As String, EmailBodyOfMessage As String)
...
...
SendEmail txtSmtp.Text, lstRecipient.Text, txtAttacment.Text,
txtOggetto.Text, txtMessaggio.Text
...
...
non gli passi il FromEmailAddress e ToEmailAddress, inoltre gli passi
invertiti il EmailSubject e EmailAttacment.
CIAO!