![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Enviar Correo a través de IdSmtp con Gmail desde Windows Server 2008!!
Hola que tal a todos los foristas.
Antes que nada agradezco el tiempo que se toman en leer este mensaje. Expongo la situación. He creado una aplicación para enviar correos desde una cuenta de Gmail a través de los componentes de INDY. IdSmtp, IdMessage y IdSSLIOHandlerSocketOpenSSL. Como seguramente muchos sabrán Gmail utiliza encriptación a través de SSL, por ello es necesario tener las librerias de OpenSSL "libeay32.dll", "libSSL32.dll" y "ssleay32.dll" motivo por el cual descargue las librerías y las he colocado en el directorio de la aplicación. La aplicación funciona adecuadamente desde mi máquina donde eh desarrollado la aplicación. Finalmente necesito que esta aplicación se ejecute desde un servidor el cual tiene Windows Server 2008. Pero eh aquí el problema, cuando intento enviar un correo desde el servidor, al momento de internar mandar el mensaje, parece que no se hace adecuadamente el HandShake, hasta el momento no eh comprobado mi teoría. Obviamente eh copiado las librerías de OpenSSL en el Servidor, eh comprobado que se tenga salida a Internet, que el Firewall no bloquee la aplicación, etc. La aplicación se queda inhibida, y consume enormes recursos de procesamiento. Les dejo aquí el código de la aplicación que repito, funciona pero sólo en el equipo donde se desarrollo. //_______________________________________________________________________ Componentes object smtp: TIdSMTP IOHandler = IdSSLIOHandlerSocketOpenSSL1 AuthType = atSASL SASLMechanisms = <> Left = 112 Top = 400 end object IdMessage1: TIdMessage AttachmentEncoding = 'UUE' BccList = <> CCList = <> ContentType = 'text/html' Encoding = meDefault FromList = < item end> Recipients = <> ReplyTo = <> ConvertPreamble = True Left = 176 Top = 400 end object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL Destination = ':25' MaxLineAction = maException Port = 25 DefaultPort = 0 SSLOptions.Method = sslvSSLv3 SSLOptions.Mode = sslmClient SSLOptions.VerifyMode = [] SSLOptions.VerifyDepth = 0 Left = 144 Top = 400 end procedure TForm2.Button1Click(Sender: TObject); var mail : TIDMessage; begin IdSSLOpenSSLHeaders.Load; with smtp do begin IoHandler:=IdSSLIOHandlerSocketOpenSSL1; AuthType := atDefault; Host := 'smtp.gmail.com'; port := StrtoInt(txtPort.text); //<-587 useTLS:=utUseRequireTLS; Username := 'usuario'; Password := 'contraseña; end; mail := TIdMessage.Create(Self); // CONFIGURACION DEL MENSAJE A ENVIAR with mail do begin From.Address := 'dirección@origen.com'; Recipients.EMailAddresses := txtDestino.text; Subject := txtMensaje.text; body.Text := txtMensaje.text; end; try // CONEXION CON EL SERVIDOR DE CORREO begin memo1.Lines.add('conectando con el servidor'); smtp.Connect; memo1.Lines.add('conectado'); try // ENVIO DEL MENSAJE begin memo1.Lines.add('enviando mensaje'); smtp.Send(mail); end; except on E: Exception do begin memo1.Lines.add('Fallo al enviar: ' + E.Message+ ' Tiempo Tomando '+labTiempo.caption); end; end; memo1.Lines.add('Mensaje enviado satisfactoriamente'+ ' Tiempo Tomando '+labTiempo.caption); end; except on e:exception do begin memo1.Lines.add('Fallo al enviar: ' + E.Message+ ' Tiempo Tomando '+labTiempo.caption); end; end; mail.Free; end; //_______________________________________________________________________ Saludos... |
#2
|
||||
|
||||
Lo unico que se me ocurre es. Utilazte bien las DLL (si son para 32 o para 64 bits?)
proque a mi me ha dado problemas entre las diferentes versiones |
#3
|
|||
|
|||
Si ya verifique que las librerías son para 32 Bits.
Pero aun así sigue con el mismo problema. Gracias por tu aporte. |
#4
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
![]() Recuerda poner los tags al código fuente, ejemplo: ![]() Gracias ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
|||
|
|||
Enviar Gmail desde W2008 con Indy
Última edición por Casimiro Notevi fecha: 06-12-2012 a las 20:16:00. |
#6
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
![]() Recuerda poner los tags al código fuente, ejemplo: ![]() Gracias ![]() .
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#7
|
|||
|
|||
Enviar Gmail desde W2008 con Indy
Perdonad soy nuevo en este foro, sólo quería trasmitirle que las pruebas hechas con las componentes Indy 10 en Windows 2008 me habían funcionado perfectamente con el código que indiqué.
|
#8
|
||||
|
||||
¡Ah!, bien, gracias, es que como no habías dicho nada
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#9
|
|||
|
|||
A Anonymus2009 le agradezco haber compartido el código del envío de email usando GMAIL, con base en ello logré corregir el mío y ya me funciona OK.
Saludos, |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
enviar un correo desde ¿ yahoo, gmail ? | avmm2004 | Internet | 1 | 24-01-2012 18:15:17 |
Enviar mensaje desde gmail con Indy 10 | axelafonso | Internet | 3 | 13-01-2012 18:11:39 |
enviar un email desde delphi a hotmail o gmail | abraham | SQL | 30 | 06-08-2007 16:46:20 |
Enviar correo con SMTP de GMAIL via INDY 10 (idSMTP) | lpedrazzi | Internet | 4 | 31-12-2006 22:30:26 |
ENVIAR CORREO mi cuenta de correo es GMAIL | ASAPLTDA | PHP | 1 | 16-11-2006 00:54:03 |
![]() |
|