Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[VB6] Winsock

35 views
Skip to first unread message

Carmelo

unread,
Jul 17, 2008, 10:04:42 AM7/17/08
to
Non ho mai usato winsock e non ho la più pallida idea di come fuziona.
Vorrei usarlo per far spedire delle mail con allegati da un programma.
Ho scaricato 4 o 5 esempi da internet ma nessuno di questi funziona, danno
tutti errore sicuramente non so impostare server e altro.
Mi date in link da dove scaricare un esempio che funziona sicuramente, che
avete già testato voi

Grazie Carmelo


GG

unread,
Jul 17, 2008, 11:41:52 AM7/17/08
to
http://www.it-lang-vb.net/

"Carmelo" <carme...@alice.it> ha scritto nel messaggio
news:487f5153$0$40315$4faf...@reader5.news.tin.it...

Nicola Ottomano

unread,
Jul 18, 2008, 5:39:06 AM7/18/08
to
Carmelo ha scritto:

Traduco:
Non ho mai usato un'automobile e non ho idea di come funzioni.
Ho provato ad usarne qualcuna a caso, trovata in giro, ma nessuna si avvia.
Mi date le istruzioni su come costruire una Ferrari?

1-Impara come funziona winsock (studio studio studio)
2-Impara come funzione il protocollo SMTP
3-Impara come si allegano file ad una mail
4-Costruisci una classe che ti spedisce le mail o, nell'ipotesi
migliore, ne prendi una già fatta ma con la cognizione su cosa va
modificato per farla funzionare.

Nicola

Rafunk

unread,
Jul 18, 2008, 5:56:34 AM7/18/08
to

Questo non usa l'ocx ma direttamente le API wsock32 e funziona:
http://www.freevbcode.com/ShowCode.Asp?ID=109

Bye

Raf


Carmelo

unread,
Jul 21, 2008, 7:00:53 AM7/21/08
to
> Traduco:
> Non ho mai usato un'automobile e non ho idea di come funzioni.
> Ho provato ad usarne qualcuna a caso, trovata in giro, ma nessuna si
> avvia.
> Mi date le istruzioni su come costruire una Ferrari?
>
> 1-Impara come funziona winsock (studio studio studio)
> 2-Impara come funzione il protocollo SMTP
> 3-Impara come si allegano file ad una mail
> 4-Costruisci una classe che ti spedisce le mail o, nell'ipotesi migliore,
> ne prendi una già fatta ma con la cognizione su cosa va modificato per
> farla funzionare.
>
> Nicola

Rispondo ora perchè ho letto solo sabato il post.
Hai sicuramente ragione, prima bisogna farsi un'idea di qualcosa e poi dire
che non funziona.
Comunque io ho scaricato gli esempi proprio per cercare di capirci di più.
Ti posso dire che su 4 esempi che ho visto, nessuno degli esempi usa gli
stessi paramtri per settare il winsock, quindi a quel punto non ci ho capito
niente.
Ho messo insieme quello che di comune c'era fra di loro in una classe e
smanettando sono riuscito a farlo funzionare.

Ti faccio un esempio in 3 dei 4 esempi si passano gli allegati solo con il
percorso. L'ultimo che ho scaricato passa l'allegato e un file temporaneo,
la classe li codifica a base 64, mentre negli altri questo non succede.
Qual'è la procedura giusta?

Aggiungo anche che tutti gli esempi (compreso vbSendmail) anche se usano una
classe, questa si appoggia ad un controllo winsock di una form.
Io volevo evitare di aggiungere il controllo.

Ciao Carmelo

Nicola Ottomano

unread,
Jul 21, 2008, 8:28:41 AM7/21/08
to
Carmelo ha scritto:

> Ho messo insieme quello che di comune c'era fra di loro in una classe e
> smanettando sono riuscito a farlo funzionare.

Vedi che sbagli approccio?

Le cose non vanno fatte alla carlona. Non basta creare qualcosa che
funzioni per opera dello Spirito Santo. Una cosa deve funzionare perchè
tu sai cosa hai creato.
Se domani succede un casino tu devi sapere dove mettere le mani.
Chi ti dice che il codice che hai scritto vada bene per file grossi? E
per allegati multipli?
Sai come sono fatti gli header di una mail? Sai come viene suddiviso il
corpo del messaggio dagli header e dagli allegati? Sai come si
differenziano il corpo del messaggio in puro testo da quello in HTML?
Non sai neanche se la procedura per allegare sia aggiungere un link
oppure codificare in base64, come fai a fare un programma che faccia
qualcosa che non sai?

Se continui così avrai un programma rattoppato che fa qualcosa alla bene
e meglio, ma al primo problema sarai nei casini fino al collo.

Ascolta il parere di uno che con l'informatica ci mangia: cambia metodo.

Nicola

Carmelo

unread,
Jul 21, 2008, 9:30:53 AM7/21/08
to

> Le cose non vanno fatte alla carlona. Non basta creare qualcosa che
> funzioni per opera dello Spirito Santo. Una cosa deve funzionare perchè tu
> sai cosa hai creato.
> Se domani succede un casino tu devi sapere dove mettere le mani.
> Chi ti dice che il codice che hai scritto vada bene per file grossi? E per
> allegati multipli?
> Sai come sono fatti gli header di una mail? Sai come viene suddiviso il
> corpo del messaggio dagli header e dagli allegati? Sai come si
> differenziano il corpo del messaggio in puro testo da quello in HTML?
> Non sai neanche se la procedura per allegare sia aggiungere un link oppure
> codificare in base64, come fai a fare un programma che faccia qualcosa che
> non sai?
>
> Se continui così avrai un programma rattoppato che fa qualcosa alla bene e
> meglio, ma al primo problema sarai nei casini fino al collo.
>
> Ascolta il parere di uno che con l'informatica ci mangia: cambia metodo.
>
> Nicola

Anche questa volta hai ragione, ma non avendo mai usato nè winsock nè il
protocollo SMTP da qualche parte dovevo pur iniziare.
Ho scelto la via degli esempi, intanto per farmi un'idea e poi perchè la
guida non è che mi aiuti molto.

Tu dici studia studia, ma dove? ho cercato su internet nozioni sul
protocollo SMTP ma dice sempre le stesse cose e non è che le mie conoscenze
siano migliorate di tanto.

Ciao Carmelo


Rafunk

unread,
Jul 21, 2008, 10:44:34 AM7/21/08
to
Carmelo wrote:
> Aggiungo anche che tutti gli esempi (compreso vbSendmail) anche se
> usano una classe, questa si appoggia ad un controllo winsock di una
> form. Io volevo evitare di aggiungere il controllo.

Io ti ho postato un esempio che non lo usa, ci hai dato un'occhiata?

Raf


Tiscali

unread,
Jul 21, 2008, 11:00:49 AM7/21/08
to
Rafunk ha scritto...

> Io ti ho postato un esempio che non lo usa, ci hai dato un'occhiata?

Per curiosità ho dato un'occhiata al sorgente della libreria sviluppata in
VB6,
e fra le altre cose vi è un Form con un Control WinSock,
utilizzato nell'inizializzazione della classe.

Private Sub Class_Initialize()

[Cut]

' instantiate the Winsock Control
Set sckMail = frmSck.WinSck

[Cut]

End Sub

--
Ciao Fede

By Chicco Production
http://bcp.freetools.it


Tiscali

unread,
Jul 21, 2008, 11:15:11 AM7/21/08
to
Esempio su come inviare mail con allegati senza l'uso di controlli
aggiuntivi,
ma esclusivamente con chiamate Api:

http://tinyurl.com/5bvxxr

Rafunk

unread,
Jul 21, 2008, 12:42:16 PM7/21/08
to
Tiscali wrote:
> Rafunk ha scritto...
>> Io ti ho postato un esempio che non lo usa, ci hai dato un'occhiata?
>
> Per curiosit� ho dato un'occhiata al sorgente della libreria
> sviluppata in VB6,
> e fra le altre cose vi � un Form con un Control WinSock,

> utilizzato nell'inizializzazione della classe.
>
> Private Sub Class_Initialize()
>
> [Cut]
>
> ' instantiate the Winsock Control
> Set sckMail = frmSck.WinSck
>
> [Cut]
>
> End Sub

Gi�, hai ragione! Non mi ricordavo proprio, ho riaperto il progetto della
libreria, e vedendo tutte le declare delle API wsock32 proprio non pensavo
che alla fine utilizzasse il controllo ocx...
My fault!!!

Bye

Raf


Fosco

unread,
Jul 21, 2008, 9:49:47 PM7/21/08
to
"Carmelo"

> Tu dici studia studia, ma dove? ho cercato su internet nozioni sul
> protocollo SMTP ma dice sempre le stesse cose e non č che le mie conoscenze
> siano migliorate di tanto.


qui ci sono esempi completi funzionanti , io incomincerei
da qui se ti serve un "coso" per un uso immediato e/o
almeno per vedere le basi di funzionamento , poi
volendo ti allarghi e fai tutto da solo [1]

http://www.ostrosoft.com/smtp_component/smtp_vb.zip

da: http://www.ostrosoft.com/smtp_component.asp

[1] http://www.example-code.com/vb/smtp.asp

da:
http://snipr.com/32ruu

--
Fosco

0 new messages