Italian Body Email

daniweb78

Member
Salve a tutti , ho iniziato da poco con B4A.
Ho creato una piccola APP che chiede in input 4/5 campi chè l'utente inserisce, al termine dell'inserimento ho messo un pulsante "completa"
devo far si che venga inviata una email al mio indirizzo da quello del cliente che ha nel telefono, sono riuscito a far aprire un programma di email predefinito, anche se preferirei inviare automaticamente.
La mia difficoltà è anche che non riesco a comporre il corpo dell'email con il valore di tutti i campi inseriti in input.
ho messo questo codice:

Dim email As Email
email.To.Add("[email protected]")
email.Subject = "Prenotazione Bombole"
email.Body = edCOGN.Text+edNom.text
Dim in As Intent = email.GetIntent
in.Flags = 1 'FLAG_GRANT_READ_URI_PERMISSION
StartActivity(in)

vorrei comporre il corpo del messaggio con tutti i campi magari anche in righe diverse, i dati sono: Cognome, Nome, Indirizzo, recapito e un campo valore..
scrivendo in questo modo ho errore, come compongo il tutto.
Grazie a tutti aspetto risposte
 

Aldo's

Active Member
Licensed User
Usa una variabile e componi il body come vuoi tu, per esempio:
B4X:
dim sBody As String
sBody = edCOGN.Text & " " & edNom.text
sBody = sBody & chr$(13) & edTEL.text
sBody = sBody & chr$(13) & campo1.text
sBody = sBody & chr$(13) & campo2.text
sBody = sBody & chr$(13) & campo3.text
sBody = sBody & chr$(13) & campo4.text
poi inserisci l'unica variabile creata nel campo email.Body

Se ho capito bene il problema è questo, giusto?

oppure usi una mail in html.
 

LucaMs

Expert
Licensed User
Longtime User
edCOGN.Text+edNom.text
Il problema è che usi il segno + come congiunzione tra stringhe, anziché la e-commerciale &.

Meglio ancora del metodo suggerito da Aldo (che comunque funzionerebbe, anche se invece di CHR$(13) dovresti usare la costante CRLF) è usare StringBuilder:

B4X:
Dim sbBody As StringBuilder
sbBody.Initialize

sbBody.Add(edCOGN.Text)
sbBody.Add(edNome.Text)
'
'
Log(sbBody.ToString)
 
Last edited:
Top