Invio mail con allegato

Buon mercoled a tutti, da un mio software devo poter inviare una mail con un file pdf allegato, pensavo di esserci riuscito, solo dopo ho scoperto che funziona solo con SMTP che non richiedono l’autenticazione, come risolvere il problema? allego il codice
visto che nel software uso il plugin CURLS per trasferimento file da e per internet potrebbe tornare utile?
dim testo1 as string
in testo 1 carico il testo dell’e-mail
dim mail as emailMessage
dim file as emailAttachment
dim i as integer
dim s as string
socket1.address = smtp
socket1.port = nr porta
socket1.username =
socket1.password =
mail = new emailMessage
mail.fromAddress = indirizzo mail
mail.headers.AppendHeader “Content-type”, “Text/HTML;charset=UTF-8”
mail.subject = “Documento "
testo1=trim(DefineEncoding (testo1 ,Encodings.utf8))
mail.bodyHTML =testo1
mail.BodyHTML=ReplaceAll(mail.bodyHTML,chr(13),”
")
s = replaceAll(PazWind.txtmail.text,",",chr(13))
s = replaceAll(s,chr(13)+chr(10),chr(13))
for i = 1 to countFields(s,chr(13))
mail.addRecipient trim(nthField(s,chr(13),i))
next
file = new emailAttachment
file.loadFromFile getFolderItem(testo)
mail.attachments.append file
socket1.messages.append mail
progressBar1.visible = true
socket1.sendMail

Mario

Ciao Mario,

Io invio con autenticazione:

[code]Dim email As New EmailMessage
email.FromAddress = “nome@miodominio.com
email.Subject = “Comunicazione”
email.BodyPlainText = “mio messaggio”
email.AddRecipient(“destinatario@altrodominio.it”)

//–| set up the socket
Session.emailSocket.ConnectionType = SMTPSecureSocket.TLSv1
Session.emailSocket.SMTPConnectionMode = SMTPSecureSocket.ModeSSLTLS
Session.emailSocket.Secure = True
Session.emailSocket.Address = “smtps.mioprovider.it”
Session.emailSocket.Port = 465
Session.emailSocket.Username=“miousername”
Session.emailSocket.Password=“miapassword”

//—| send email
Session.emailSocket.Messages.Append(email)
Session.emailSocket.SendMail

if Session.emailSocket.NoError=0 then
MsgBox(“Inviato email”)
else
MsgBox(“Invio email fallito”+EndOfLine+_
str(Session.emailSocket.LastErrorCode))
end if[/code]

Spero ti sia utile.

Visto che nessuno mi ha proposto delle soluzioni sicuramente non mi sono spiegato, penso che lo stesso problema lo avr avuto pi di qualcuno di voi. Con il codice postato riesco ad inviare tranquillamente mail e allegato con Alice, ma con Libero, Gmail, Aruba ed altri la mail non viene inviata, rovistando nelle configurazione di quest’ultime il server della posta in uscita SMTP richiede l’autenticazione, come impostarla?
Mario

Grazie Roberto , più tardi proverò

Grazie, Grazie Roberto funziona
Mario

Il Post di Roberto Casalegno funzionante anche con le PEC

Buono a sapersi, grazie

Per l’invio di mail tra un mittente e un destinatario che utilizzano Gmail (che poi l’ipotesi + frequente) la routine utilizzata da Roberto, che anche quella riportata nella documentazione di Xojo

https://documentation.xojo.com/api/networking/smtpsecuresocket.html
MailSocket.Address = “smtp.gmail.com
MailSocket.Port = 465
MailSocket.ConnectionType = SMTPSecureSocket.TLSv1
MailSocket.SMTPConnectionMode = SMTPSecureSocket.ModeSSLTLS
MailSocket.Secure = True
MailSocket.UserName =
MailSocket.Password =

funziona soltanto se il destinatario setta in Gmail “consenti app. meno sicure su ON”
https://myaccount.google.com/lesssecureapps

La stessa documentazione di Xojo riporta:
“In order to connect to Gmail you’ll need to enable the “allow less secure apps” option as described in this Google support document:”

E mai possibile che nellipotesi evidenziata non possibile inviare una email con Xojo senza che il destinatario alteri la sicurezza della propria posta elettronica ?
Ci deve essere pure un modo.

a) Don’t use Gmail to send emails, it’s a bad idea.
b) Use Oauth for authentication, which is preferred anyways (CURL from the MBS plugin or the Chilkat plugin can do Oauth).

Un esempio con Oauth senza ricorrere a CURL ?

No.

Ma Xojo dovrebbe consentire la possibilit di inviare una mail senza ricorrere a plugin esterni.

The keyword is “should”. Sending mails works more or less. Rather less as I remember (problems with encodings, attachment names get duplicated). And Gmail wants OAuth.

I have a full example on how to handle everything with the Chilkat plugin on my website on my website. Ups. Need to update the website. Here is the direct link: https://www.mothsoftware.com/downloads/gmail_oauth.zip