PDA

View Full Version : [C] mail client?


dierre
24-08-2009, 16:54
Mi sto scrivendo un plugin per "uso personale" per pidgin (IM multiprotocollo). Affinché questo plugin abbia un senso, ho bisogno di poter inviare un'email (con account gmail). Che posso utilizzare in C?

fero86
24-08-2009, 19:59
Mi sto scrivendo un plugin per "uso personale" per pidgin (IM multiprotocollo). Affinché questo plugin abbia un senso, ho bisogno di poter inviare un'email (con account gmail). Che posso utilizzare in C? nulla che non sia di terze parti o che non ti costringa ad avere a che fare coi protocolli sottostanti. in .NET invece é questione di minuti: http://msdn.microsoft.com/en-us/library/system.net.mail.aspx
percui se ti é in qualche modo possibile ti suggerirei un linguaggio .NET, casomai un eseguibile esterno richiamato dal codice C.

Energy++
24-08-2009, 21:10
potresti usare anche le api di google con un semplice script in python:

http://code.google.com/intl/it-IT/appengine/docs/python/mail/sendingmail.html

dierre
24-08-2009, 21:18
pidgin accetta plugin in C, Perl, Tcl o tramite DBus.
Purtroppo quando cerco qualche terza parte mi esce sempre roba in C#, maledetto Bill :asd:

cionci
27-08-2009, 10:37
Potresti benissimo scriverlo tu un piccolo client smtp, sfruttando i socket. In questo modo potresti rendere il tuo codice portabile su più sistemi operativi.
La semplicità del protocollo è disarmante, l'unica cosa relativamente più complessa è l'invio di attachment, ma non credo che sia il tuo caso.

http://it.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

banryu79
27-08-2009, 11:21
La semplicità del protocollo è disarmante, l'unica cosa relativamente più complessa è l'invio di attachment, ma non credo che sia il tuo caso.

@Cionci
Ho letto il link, in effetti il protocollo SMTP è veramente semplice.
Curiosità mia, se dierre implementasse il client SMTP e volesse dare supporto per allegati di tipo immagine (ad esempio per .jpg, .gif e .png) gli basterebbe fare riferimento alle specifice MIME per il tipo di contenuto image, giusto?

dierre
27-08-2009, 13:03
Potresti benissimo scriverlo tu un piccolo client smtp, sfruttando i socket. In questo modo potresti rendere il tuo codice portabile su più sistemi operativi.
La semplicità del protocollo è disarmante, l'unica cosa relativamente più complessa è l'invio di attachment, ma non credo che sia il tuo caso.

http://it.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

No, non ho bisogno di attachment, essenzialmente devo far stalking sul mio relatore quando logga che gli devo parlare, e per non stare tutto il giorno al piccì ho fatto un piccolo script usando python+dbus che se lo vede online manda una mail al mio blackberry, loggo e lo becco :asd:

Il che funziona benissimo, ma è una soluzione esclusivamente linuxiana perché pidgin per windows non supporta dbus che io sappia.

Di conseguenza ne volevo scrivere un più generico in C ma è sorto questo problema.

Dal momento che non ho mai avuto esperienza coi socket in C, per caso hai qualche guida?

cionci
27-08-2009, 21:01
@Cionci
Ho letto il link, in effetti il protocollo SMTP è veramente semplice.
Curiosità mia, se dierre implementasse il client SMTP e volesse dare supporto per allegati di tipo immagine (ad esempio per .jpg, .gif e .png) gli basterebbe fare riferimento alle specifice MIME per il tipo di contenuto image, giusto?
Sinceramente non mi ricordo bene, ma mi sembra che bisogna allegare l'immagine codificata in base64 con il relativo mime type, ma non mi ricordo bene.

dierre: guide sotto mano non ne ho mi dispiace. Ci sono alcune sottili differenze fra i socket di Linux e quelli di Windows, ma sono differenze che puoi appianare con qualche #define e #ifdef ;)