Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: dex - 11 Marzo 2012, 00:36:52

Titolo: [Risolto] inviare email
Inserito da: dex - 11 Marzo 2012, 00:36:52
ciao raga
devo inviare 2 email da gambas.
la prima solo testo senza allegati da inviare sempre allo stesso indirizzo.
la seconda con allegati pdf da inviare ad indirizzi diversi che selezionerò tramite una combo.

ho fatto una ricerca nel forum ed ho trovato solo una risposta di leo che utilizzava mutt e msmtp.

ci sono stati nuovi sviluppi?
Titolo: Re: inviare email
Inserito da: andy60 - 11 Marzo 2012, 01:21:24
ciao dex anche io in myZone4 uso Mutt, lo trovo molto comodo
Titolo: Re: inviare email
Inserito da: dex - 11 Marzo 2012, 01:23:30
ciao dex anche io in myZone4 uso Mutt, lo trovo molto comodo
ciao Andy

riesci ad inviare l'allegato e un breve commento di testo?

mi posti il codice?
Titolo: Re: inviare email
Inserito da: Golia - 11 Marzo 2012, 10:26:42
Ciao dex :ciao:
Nel mio programma l'invio mail con e senza allegati l'ho risolto aprendo e passando dati/allegati un client di posta tramite shell.
Se ti interessa ho il codice per Thunderbird, Evolution e Kmail
 :2birre:
Titolo: Re: inviare email
Inserito da: andy60 - 11 Marzo 2012, 12:35:16
@dex

purtroppo l'invio (forse non è esatto ma rende) non è asincrono per cui si potrebbe con mutt inviare allegati ma il pc è come si bloccasse, deve prima essere completato l'invio. A parte che non mi serviva, ho rinunciato. Il codice è di una semplicità estrema (con mutt già installato):

Buttone per inviare una mail:

Codice: [Seleziona]
Public Sub Button1_Click()

  Dim myemail As Process
  myemail = Shell ("echo ' test da linea di comando ' | mutt -s ' TEST GAMBAS ' " & TextBox6.Text & " ")
  Message("Messaggio test inviato.")

End

in TextBox6.text sia ha la mail di destinazione.

PS. x installare mutt segui la mia guida:
http://andreabertini.wordpress.com/2011/10/30/gmailmuttmsmtpprocmailfetchmail-con-fedora15/
Titolo: Re: inviare email
Inserito da: dex - 11 Marzo 2012, 14:02:37
Ciao dex :ciao:
Nel mio programma l'invio mail con e senza allegati l'ho risolto aprendo e passando dati/allegati un client di posta tramite shell.
Se ti interessa ho il codice per Thunderbird, Evolution e Kmail
 :2birre:

ciao golia. è da un pò che non ci si sente.

postami il codice, è proprio quello che mi serve lanciare da gambas appoggiandomi a Thunderbird
Titolo: Re: inviare email
Inserito da: Golia - 11 Marzo 2012, 17:05:13
Codice: gambas [Seleziona]

Public Sub MAIL(destinatario As String, oggetto As String, corpo As String, allegato As String)
  Dim comandomail As String
  Dim hmail As Process  
  ''****PER thunderbird
  comandomail = "thunderbird -compose to='"
  comandomail &= destinatario
  comandomail &= "',subject='"
  comandomail &= oggetto
  comandomail &= "',body='"
  comandomail &= corpo
  If allegato = "no" Then
  comandomail &= "'"
  Else  
  comandomail &= "',attachment='"
  comandomail &= allegato & "'"
  Endif
  hmail = Shell (comandomail)      
End



Ciao, alla prox  :2birre:
Titolo: Re: inviare email
Inserito da: andy60 - 11 Marzo 2012, 17:27:57
Codice: gambas [Seleziona]

Public Sub MAIL(destinatario As String, oggetto As String, corpo As String, allegato As String)
  Dim comandomail As String
  Dim hmail As Process  
  ''****PER thunderbird
  comandomail = "thunderbird -compose to='"
  comandomail &= destinatario
  comandomail &= "',subject='"
  comandomail &= oggetto
  comandomail &= "',body='"
  comandomail &= corpo
  If allegato = "no" Then
  comandomail &= "'"
  Else  
  comandomail &= "',attachment='"
  comandomail &= allegato & "'"
  Endif
  hmail = Shell (comandomail)      
End



Ciao, alla prox  :2birre:

Complimenti, non sapevo di questa possibilità, le trovi tutte!! :2birre:

si ha sempre il problema dell'asincronia oppure è del tutto trasparente l'invio? Questa cosa potrebbe rilanciare un mio applicativo che avevo abbandonato per via dei problemi alle mail.
Titolo: Re: inviare email
Inserito da: Golia - 11 Marzo 2012, 19:11:19
Con questo comando crei una nuova mail pronta all'invio, si apre e basta che dai invio ;) così si può anche controllarla

C'è solo un problemino sul testo del corpo, non va a capo, non ho mai approfondito perchè non mi serviva
Titolo: Re: inviare email
Inserito da: andy60 - 11 Marzo 2012, 20:46:46
Con questo comando crei una nuova mail pronta all'invio, si apre e basta che dai invio ;) così si può anche controllarla

C'è solo un problemino sul testo del corpo, non va a capo, non ho mai approfondito perchè non mi serviva

hai implementato la progressbar sull'invio della posta? i hope yes!! :-*
Titolo: Re: inviare email
Inserito da: Golia - 11 Marzo 2012, 20:52:24
no
Titolo: Re: inviare email
Inserito da: dex - 11 Marzo 2012, 23:51:46
Con questo comando crei una nuova mail pronta all'invio, si apre e basta che dai invio ;) così si può anche controllarla

C'è solo un problemino sul testo del corpo, non va a capo, non ho mai approfondito perchè non mi serviva

sto cominciando a provare il codice funziona alla grande
per il corpo và a capo basta agginger al testo \n

grazie golia sono sempre più in debito con te  :2birre: :2birre: :2birre:

Edit: quando si passa una stringa nel corpo del messaggio thunderbird non accetta le virgole e tronca la stringa dove trova la virgola.
Titolo: Re: inviare email
Inserito da: dex - 12 Marzo 2012, 02:34:43
Raga risolto

invio email con pdf allegati

per il testo nel corpo si può andare a capo quanto si vuole aggiungendo \n

per il resto thunderbird non accetta le virgole e gli apici.

Titolo: Re: inviare email
Inserito da: andy60 - 12 Marzo 2012, 10:02:39
@dex,golia

non mi avete detto se si blocca durante l'invio..
Titolo: Re: inviare email
Inserito da: dex - 12 Marzo 2012, 14:59:41
@dex,golia

non mi avete detto se si blocca durante l'invio..

si blocca chi? gambas o thunderbird? a me non si blocca dopo l'invio mi si apre thunderbird  con tutto il testo, destinatario ecc.. inserito e devo solo fare invio da thunderbird.

cmq come ho precisato prima thunderbird nona accetta , e ' per la virgola taglia il testo e invia per ' si blocca.
non ho fatto esperimenti con altri caratteri speciali ma forse sono proprio questi a bloccarlo
Titolo: Re: inviare email
Inserito da: andy60 - 12 Marzo 2012, 16:26:28
Mi sembrava di aver capito che le routine suggerite da Golia sfruttassero gli emailer (es. Thund...)  dall'interno di gambas3. Dato che Mutt, se invio email con allegati da dentro un programma Gambas3, blocca l'applicativo fino alla fine dell'invio, chiedevo se anche il vs/ metodo si comportasse nella stessa maniera.Tutto qua
Titolo: Re: inviare email
Inserito da: fsurfing - 12 Marzo 2012, 20:43:03
si bloccherebbe solo se metti un wait sulla riga di shell o exec, altrimenti il comando lavora in background
Titolo: Re: inviare email
Inserito da: andy60 - 13 Marzo 2012, 07:30:22
mutt con gli allegati invece blocca, grazie ...sperimentero'
Titolo: Re: inviare email
Inserito da: andy60 - 13 Marzo 2012, 19:56:55
Codice: gambas [Seleziona]

Public Sub MAIL(destinatario As String, oggetto As String, corpo As String, allegato As String)
  Dim comandomail As String
  Dim hmail As Process  
  ''****PER thunderbird
  comandomail = "thunderbird -compose to='"
  comandomail &= destinatario
  comandomail &= "',subject='"
  comandomail &= oggetto
  comandomail &= "',body='"
  comandomail &= corpo
  If allegato = "no" Then
  comandomail &= "'"
  Else  
  comandomail &= "',attachment='"
  comandomail &= allegato & "'"
  Endif
  hmail = Shell (comandomail)      
End



Ciao, alla prox  :2birre:

mi ritorna questo errore..

Titolo: Re: inviare email
Inserito da: Golia - 13 Marzo 2012, 23:44:08
Ciao Andy
prova da terminale questo
Citazione
thunderbird -compose to='pippobaudo_at_gmail.com',subject='tuooggetto',body='testo del corpo'


@dex
Citazione
grazie golia sono sempre più in debito con te
quale debito :), bastano un paio di birre  :2birre: :2birre: :2birre:

Titolo: Re: inviare email
Inserito da: andy60 - 14 Marzo 2012, 08:29:28
Con thunderbird l'invio di email avviene facendo comunque comparire la finestra di email del programma, per certi programmi puo' essere anche produttivo , in altri magari non necessario. Mutt invia mail in background non facendo comparire alcuna finestra. A questo punto va semplicemente deciso quale soluzione per l'applicazione sia maggiormente produttiva.

Grazie Golia cmq non conoscevo questa possibilità. :2birre:
Titolo: Re: [Risolto] inviare email
Inserito da: vuott - 10 Settembre 2012, 22:36:59
devo inviare 2 email da gambas.

ho fatto una ricerca nel forum ed ho trovato solo una risposta di leo che utilizzava mutt e msmtp.

ci sono stati nuovi sviluppi?
Ho cercato di fare  :-[ un piccolo riassuntino al riguardo nella nostra WIKI:
http://www.gambas-it.org/wiki/index.php/Invio_della_posta_elettronica
Titolo: Re: [Risolto] inviare email
Inserito da: vuott - 21 Maggio 2014, 00:06:34
Segnalo questa discussione apparsa recentemente nel forum della comunità spagnola dei programmatori Gambas:

http://www.gambas-es.org/viewtopic.php?f=5&t=3853