![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Buenas de nuevo. En principio gracias por la velocidad en responder.
Desesperado, he optado por lo que he comentado Mick, he escrito el siguiente código: Código:
// Activo el servidor
if not serverSMTP.Active then
serverSMTP.Active:=True;
// Conecto el cliente y envío el mensaje
indySMTP.Connect;
indySMTP.QuickSend('192.168.0.2',
txtAsunto.Text,
'[email protected]',
'[email protected]',
memoMensaje.Lines.Text);
Hay algo que estoy haciendo mal y creo que es fallo mio de concepto. Uso como host 192.168.0.2 por ser la IP de mi PC, para que lo mande a través del servidor de la propia aplicación, el cual tan sólo tengo activado, es decir, insertado el control y activado desde código. ¿Tengo que configurarle algo al servidor? ¿Dónde meto la pata? Creo que es la teoría la que no tengo bien agarrada, y fallo por culpa de eso.
__________________
IncestoCanibal.com |
|
#2
|
|||
|
|||
|
Da la impresion de que estas complicando el tema mas de lo necesario.
El QuickSend es un metodo de clase de modo que no tienes que crear ni soltar en el form ningun componente. Literalemente debes indicar: TIdSMTP.QuickSend( ... ) SIN CREAR NINGUN COMPONENTE, te sobra el componente indySMTP y el serverSMTP, se indica directamente "TidSMTP" (el nombre de la clase, nada mas). Como mucho debes indicar "uses idSMTP" en el .pas donde quieras usar el metodo quicksend. Saludos |
|
#3
|
|||
|
|||
|
Lo acabo de probar, lo que me comentas, pero me devuelve el fallo "Connection Closed Gracefully", que ya me pasó días atrás. En lo referente al servidor web, lo tenía puesto porque no quería depender de ningún server SMTP externo, ni de ninguna cuenta de correo; no quiero que mi aplicación haga de "frontend", sino que fuese capaz de enviar correos por sí sóla, sin depender de nada.
__________________
IncestoCanibal.com |
|
#4
|
|||
|
|||
|
Lo que te da es una excepcion, lo que no significa que sea un error,
Indy informa de muchas cosas utilizando el mecanismo de excepciones, normalmente esa excepcion indica que la conexion se ha cerrado correctamente de modo que el mail debería haberse enviado sin problemas. Utiliza un bloque try except para interceptar y comprobar las excepciones o si no quieres que te salte esa excepcion, actualizate a una version mas moderna de Indy (creo que en las ultimas versiones, habian eliminado la posibilidad de que se produjese esa excepcion). |
|
#5
|
|||
|
|||
|
Al final lo he conseguido solucionar siguiendo el ejemplo del SMTP Relay que viene con Indy. Es mucho más complejo, pero funciona. Lo que hace es enviar correos, partiendo de un email de como sender y una IP de un servidor DNS. La única pega que le he visto es que le cuesta siempre varios intentos, devolviendo la excepción "Connection Closed Gracefully" en los casos de envío negativo, pero funcionar funciona. Muchas gracias a todos por la ayuda.
__________________
IncestoCanibal.com |
|
#6
|
|||
|
|||
|
Relay
Cita:
Me pasarias las lineas del source please?? ![]() Gracias! Hace 2 días que quiero enviar mails usando mi PC como server pero nada ![]() |
|
#7
|
|||
|
|||
|
Cita:
|
|
#8
|
||||
|
||||
|
Por favor, lee nuestra guía de estilo, gracias.
Y por cierto, no se entiende lo que dices, aunque este tema sea de hace 7 años.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|