Gmail y XOJO

Uso de Gmail desde XOJO.

Se puede crear una aplicacin web en donde pueda enviar y recibir mensajes en Gamil, se reflejen en mi correo y en la mensajera interna de mi pagina.

Ola, buenas tardes…
Puede usar algo como esto

[code] Dim mail as new EmailMessage
Dim SMTP as new SMTPSecureSocket
Dim i as Integer
Dim s as String

dim rs as RecordSet
dim sqlMail as string

sqlMail = “SELECT * FROM CAL_ENVIAREMAIL”

rs = XE.SQLSelect(sqlMail)
rs.MoveFirst

do until rs.eof

SMTP.Secure = true
SMTP.ConnectionType = 3
SMTP.Address = ""gmail.com"

SMTP.port = 25

SMTP.Username = "dsc.dosahe@gmail.com"
SMTP.Password = "micontrasea"
SMTP.Connect


mail.fromAddress="aqui pones un correo falso o el verdadero, para simular de donde se envi el email, pueder el que tu quieras, ejemplo: correoficticio@correoficticio.con"[/code]

espero te sea util, si tienes dudas contactame…

Hola!
Gracias!

No marca error el cdigo pero no se conecta al servidor SMPT, no enva el correo, despues de esta linea SMTP.Connect pregunto si se conecto con esta linea: if SMTP.IsConnected then y es falso.

en esta parte es el mail destino?
SMTP.Username = “dsc.dosahe@gmail.com
SMTP.Password = “micontrasea”

Gracias

Prueba con un port de conexin segura.

Hola Amando!

Gracias

esto es lo que tengo de codigo pero no enva los correos, tal vez tenga que conocer mas el SMTPSocket:

dim SMTP as new SMTPSecureSocket
dim Msg as new EmailMessage

SMTP.Address = “smpt.gmail.com” ----> para conectarme al servidor de gmail a cuentas corporativas con otro dominio diferente a gamil
SMTP.Username = “micorreo@micorreo.com
SMTP.Password = “mipassword”
SMTP.Port = 465
SMTP.Secure = true
SMTP.ConnectionType = SMTPSecureSocket.SSLv3
SMTP.Connect

msg.FromAddress = “correode@correode.com
msg.subject = “Prueba de envio mail desde XOJO”
msg.BodyPlainText = “Prueba de envio mail desde XOJO”

msg.AddRecipient(“correoaquin@correoaquien.com”)

app.SMTP.Messages.Append msg
app.SMTP.SendMail

es bsicamente lo que he visto en los foros y el ejemplo de xojo.
Hay alguien que tenga un ejemplo que funcione que pueda hacer observacin?

Muchas gracias!

[quote=38628:@claudia orona flores]Hola Amando!

Gracias

es básicamente lo que he visto en los foros y el ejemplo de xojo.
Hay alguien que tenga un ejemplo que funcione ó que pueda hacer observación?
[/quote]

Hola Claudia

Disculpa por la tardanza, pero ando muy muy liado con el trabajo. He abierto el Xojo y mirado tu código y te mando uno que a mi me funciona. Otra cosa muy distinta y que te indico es que yo no usaría este código para enviar mensajes, tan sólo te lo copio para que veas que funciona.

[code] Dim SMTP as new SMTPSecureSocket
Dim msg As New EmailMessage

SMTP.Address = “smtp.gmail.com
SMTP.Username = “micorreo@direccion.ext”
SMTP.Password = “password”
SMTP.Port = 465
SMTP.ConnectionType = SMTPSecureSocket.SSLv23
SMTP.Secure = true

msg.AddRecipient(“recipiente@gmail.com”)
msg.subject = “Esto es una prueba”
msg.BodyPlainText = “Testeo de mensajes”
msg.Headers.AppendHeader “X-Mailer”,“XOJO Demo”

SMTP.Messages.Append msg
SMTP.SendMail()

[/code]

Lo suyo es hacer una subclase de SMTP, instancias SMTP en App para tener una referencia, y faltan parametros en msg que he obviado por motivos de tiempo.

Te recomiendo que leas la parte OOP de manual de Xojo, subclases, referencias a instancias (objetos), para que tu código sea lo mas OOP posible.

Espero haberte ayudado

Amando

Hola Amando!

SI me ayudaste muchas gracias, si funciona, ver tu codigo y tus comentarios me ayudaron a darme cuenta que el problema que tena es que la adress smtp.gmail.com no funciona para nuestras cuentas de correo corporativas, aunque son de gmail es otro dominio y si lo har con clases.

Gracias!!

Hola!

Me funciono!! el problema estaba en activar el POP3 y el IMAP de la cuenta desde la que estaba enviando los correos.

que bien. me alegro que podamos ayudarte

Hola!

Este ejemplo te funciona en ambiente MAC?

[quote=47862:@claudia orona flores]Hola!

Este ejemplo te funciona en ambiente MAC?[/quote]

El código lo escribí en Mac y debe funcionar en Windows, Mac y Linux sin problemas. Si encuentras algún error, aquí estamos…

Hola Gracias!

Si!, bueno, creo que no me explique bien,
este ejemplo lo modifique para enviar archivos adjuntos en el mail, funciona sin problemas en windows pero en mac no.

fue minima la modificacin:
Dim SMTP as new SMTPSecureSocket
Dim msg As New EmailMessage

PDFFile = new EmailAttachment

SMTP.Address = “smtp.gmail.com
SMTP.Username = “micorreo@gmail.com
SMTP.Password = “miclave”
SMTP.Port = 465
SMTP.ConnectionType = SMTPSecureSocket.SSLv23
SMTP.Secure = true

'msg.FromAddress = “micorreo@gmail.com
msg.AddRecipient(“micorreo2@gmail.com”)
msg.subject = OutFile.NativePath
’ “Esto es una prueba de envio de correo de graficas de accesos desde XOJO!”
msg.BodyPlainText = “Testeo de envo de graficas”
msg.Headers.AppendHeader “X-Mailer”,“XOJO Demo”

//Adjunta PDF
PDFFile.LoadFromFile GetFolderItem(OutFile.NativePath)
msg.Attachments.Append PDFFile

SMTP.Messages.Append msg
SMTP.SendMail()

En donde OutFile contiene la ruta y el archivo que se va a adjuntar.
Si lo puedes correr en mac y en windows seria bueno.

Gracias

[quote]//Adjunta PDF
PDFFile.LoadFromFile GetFolderItem(OutFile.NativePath)
msg.Attachments.Append PDFFile
[/quote]

Estoy al 99% seguro que tu error se encuentra ah. Qu tipo de error tienes? Imagino que ser Nil, en Outfile. Lo mejor es usar el debugger justo en la primera linea de este mensaje y mirar si OutFile no es Nil y despus mirar el cdigo que tienes en el mtodo LoadFromFile de la clase PDFFILE.

Usando el debugger puedes realmente saber que es lo que est sucediendo en la aplicacin. No olvides comprobar partes de cdigo entre try…catch.

Sin el cdigo completo no puedo comprobarlo. Si quieres mandame un privado, y te doy el correo electrnico para que me envies el fichero y echarle un vistazo.

Saludos

Hello Amando

Definitely, this was already resolved, i changed the path to something like
PDFFile.LoadFromFile specialfolder.documents.child(outfile.name)
only this line of code, now it works at mac and win

Thank you :slight_smile:

[quote=49794:@claudia orona flores]Hello Amando

Definitely, this was already resolved, i changed the path to something like
PDFFile.LoadFromFile specialfolder.documents.child(outfile.name)
only this line of code, now it works at mac and win

Thank you :)[/quote]

Hola Claudia,

Me alegro que lo hayas solucionado. Te contesto en español para mantener una coherencia en el foro internacional, ya que no todo el mundo habla inglés y es la finalidad principal de este subforo. Aunque si, cada vez hablo peor mi idioma nativo :expressionless:

Un saludo! :slight_smile: