FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error 530 intentando mandar email con NMSMTP
Hola, estoy intentando que mi aplicacion envie un email (practicando un poco) y me da este error:
'530.5.7.0 Must issue a STARTTLS command first' el codigo es este: Código:
NMSMTP1.Port:=25; NMSMTP1.Host:='smtp.gmail.com'; NMSMTP1.UserID:= 'userid' ; if not (NMSMTP1.Connected) then NMSMTP1.Connect; NMSMTP1.PostMessage.FromAddress := 'email'; NMSMTP1.PostMessage.FromName := 'nombre'; NMSMTP1.PostMessage.Attachments.Text := 'ruta_al_archivo'; NMSMTP1.PostMessage.Body.Text:= 'Prueba'; NMSMTP1.SendMail; NMSMTP1.Disconnect; Un saludo y gracias. |
#2
|
||||
|
||||
El problema está en el uso del servidor SMTP de Gmail
Hola,
Desconozco cómo implementarlo en los componentes que mencionas, pero, me parece que el problema radica en que para enviar correos a través del Servidor SMTP de Gmail es preciso establecer una conexión segura, autentificarse y hacer uso de un puerto distinto del 25. El error que recibes te indica concretamente lo primero que te comento, esto es, que tienes que hacer uso del "comando STARTTLS". Eso establecería (repito que no sé cómo hacerlo) una conexión segura. Luego tendrías que autentificarte y por último usar el puerto 465 ó 587 en lugar del 25. Si buscas información en tu buscador favorito sobre el error que te aparece o sencillamente cómo hacer uso del Servidor SMTP de Gmail encontrarás alguna que tal vez pueda ayudarte a conseguir tu objetivo. |
#3
|
|||
|
|||
Hola,
Gracias por responder tan pronto, he provado a poner el puerto 465 (sin cambiar nada del codigo, unicamente el puerto) y parece que funcione, pero al cabo de unos segundos me lanza este error: 'Socket readln aborted' Alguien que me ayude por favor... PD: Poniendo a 0 la propiedad TimeOut de NMSMTP consigo que no me de ningun error, pero no me llega el email... PD2: Haciendo un netstat -na aparece 64.233.171.111:465 ESTABLISHED...asi que conectarse parece que si que se conecta... Última edición por xilef fecha: 20-04-2005 a las 19:50:48. |
#4
|
||||
|
||||
No vas a poder enviar mails con gmail utilizando el componente NMSMTP, porque para poder conectarte, gmail requiere STARTTLS y NMSMTP no lo soporta. Tenes que usar los componentes Indy. Te recomiendo bajarte los demos de las Indy. Hay uno que se llama SendMail.
Igualmente a ese demo lo vas a tener que modificar y agregarle un TIdSSLIOHandlerSocketOpenSSL. Tambien te tenes que bajar las librerias OpenSSL y colocarlas en la misma carpeta que el ejecutable. Si es la primera vez que intentas enviar mails te conviene elegir otro servidor con menos seguridad (seguridad = complejidad de conexion) para aprender bien como funciona y despues si proba con gmail. Salu2... |
#5
|
|||
|
|||
Hola,
Gracias pos responder tan rapido, ahora voy a intentar meterme con las Indy porque no las he usado en la vida y no se como se utilizaran...me bajare los demos y asi a ver si me entero mas...jejeje Un saludo |
|
|
|