Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-04-2010
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 20
ramonibk Va por buen camino
Envio de Mail

Buenos dias.

Os cuento que estoy intentando mandar un mail desde una aplicacion Delphi,
encontre en el blog de delphi al limite un procedimiento.

Código Delphi [-]
procedure EnviarMensaje( sUsuario, sClave, sHost, sAdjunto, sAsunto, sDestino, sMensaje: String );
var SMTP: TIdSMTP;
   Mensaje: TIdMessage;
   Adjunto: TIdAttachment;
begin
  // Creamos el componente de conexión con el servidor
  SMTP := TIdSMTP.Create( nil );
  SMTP.Username := sUsuario;
  SMTP.Password := sClave;
  SMTP.Host := sHost;
  SMTP.Port := 25;
  SMTP.AuthenticationType := atLogin;

  // Creamos el contenido del mensaje
  Mensaje := TIdMessage.Create( nil );
  Mensaje.Clear;
  Mensaje.From.Name := sDestino;
  Mensaje.From.Address := sDestino;
  Mensaje.Subject := sAsunto;
  Mensaje.Body.Text := sMensaje;
  Mensaje.Recipients.Add;
  Mensaje.Recipients.Items[0].Address := sDestino;

  // Si hay que meter un archivo adjunto lo creamos y lo asignamos al mensaje
  if sAdjunto <> '' then
  begin
    if FileExists( sAdjunto ) then
      Adjunto := TIdAttachment.Create( Mensaje.MessageParts, sAdjunto );
  end
  else
    Adjunto := nil;

  // Conectamos con el servidor SMTP
  try
    SMTP.Connect;
  except
    raise Exception.Create( 'Error al conectar con el servidor.' );
  end;

  // Si ha conectado enviamos el mensaje y desconectamos
  if SMTP.Connected then
  begin
    try
      SMTP.Send( Mensaje );
    except
      raise Exception.Create( 'Error al enviar el mensaje.' );
    end;

    try
      SMTP.Disconnect;
    except
      raise Exception.Create( 'Error al desconectar del servidor.' );
    end;
  end;

  // Liberamos los objetos creados
  if Adjunto <> nil then
    FreeAndNil( Adjunto );

  FreeAndNil( Mensaje );
  FreeAndNil( SMTP );

  Application.MessageBox( 'Mensaje enviado correctamente.',
    'Fin de proceso',MB_ICONINFORMATION );
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
EnviarMensaje( 'Avisos@empresa.e.telefonica.net',
                     'gestion',
                     'smtp.telefonica.net',
                     'C:\Documento.txt',
                     'Te envio mi documento',
                     'correo_receptor@gmail.com',
                     'Adjunto archivo: documento.zip' );

end;
Como veis las cuentas de emision es una de empresas de telefonica
y la de recepcion es una de Gmail.
si lo compilo en estas condiciones al pulsar el boton me da el siguiente error.

"EIdProtocolReplyError...... 5.7.0... Authentication Rejected"

Se que el servidor de telefonica requiere autentificacion pero para probar elimine la linea
Código Delphi [-]
SMTP.AuthenticationType := atLogin;

y el error a pasado a ser....

"EIdProtocolReplyError...... 5.1.0..... <correo_receptor@gmail.com> Sender rejected".

Alguna pista??????????
Responder Con Cita
  #2  
Antiguo 07-04-2010
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 20
ramonibk Va por buen camino
Bueno he echo un cambio
he cambiado el servidor SMTP de telefonica por "smtp.telefonica.es" y lo que me da es un error de conexion 100060.
Responder Con Cita
  #3  
Antiguo 07-04-2010
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 20
ramonibk Va por buen camino
parece que el problema son las cuentas de empresa de telefonica. lo he probado con una cuenta de telefonica normal y ha funcionado.

Alguna pista.?????
Responder Con Cita
  #4  
Antiguo 08-04-2010
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Poder: 20
ramonibk Va por buen camino
Bueno parece que el problema al final radica en el servidor SMTP de telefonica empresas.

el servidor es SMTP.e.telefonica.net y al intentar esta direccion la aplicacion da problema "Error al conectar con el servidor".
esto solo ocurre con este servidor ues con el servidor de telefonica normal no da problemas.
Responder Con Cita
  #5  
Antiguo 08-04-2010
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 20
MAXIUM Va camino a la fama
Te recomiendo las librerías de Synapse con la función SendToEx. Fácil y si tanto enredeo, funciona tanto para Gmail como Hotmail, bien documentadas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Envio A Mail Y Ftp Yusk333 API de Windows 8 18-02-2009 17:51:56
Envio de mail con idsmtp y idmessenger mjjj Varios 3 25-07-2007 03:59:34
Detener envío de e-mail con TIdSMTP gluglu Internet 1 18-05-2007 17:13:10
problemas con envio de e-mail carlosmoralesm PHP 3 13-12-2004 18:46:04
envío de e-mail davidgaldo Internet 2 03-05-2004 20:07:49


La franja horaria es GMT +2. Ahora son las 23:04:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi