Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Como mandar un correo con Delphi 2010 (https://www.clubdelphi.com/foros/showthread.php?t=72306)

José Luis Garcí 09-02-2011 21:06:40

Como mandar un correo con Delphi 2010
 
Hola compañeros. he estado buscando en el Club y en la red y no he conseguido nada que me funcione, si podéis ayudarme en como mandar un correo electrónico con delphi 2010, sin tener que acudir a gestores de correo, y aprovechando el mensaje de como mandar un archivo adjunto.

Como siempre muchas Gracias

roman 09-02-2011 21:14:04

Quizá es un poco ingenua mi pregunta, pero, ¿has probado con Indy? ¿No hay versión para Delphi 2010?

// Saludos

José Luis Garcí 09-02-2011 22:03:04

Difiere de las demos que tengo, viene incluido en delphi 2010, pero no se como hacerlo funcionar, pruebo en el Delphi 2009 de mi amigo Jorge y funciona pero en el mismo código en delphi 2010 no va.

elguille 11-02-2011 13:03:53

Esto seguro que funciona
Código Delphi [-]
procedure email2(host:string;nombre:string;password:string;port:integer;desde:string;hasta:string;asunto:strin  g;cuerpo:string;adjunto:string);
var
    IDSMTP1: TIDSMTP;  // Componente de envio de correo
    mensaje: TIdMessage;
begin
screen.cursor:=crhourglass;
IDSMTP1:=TIDSMTP.Create(nil);
IdSMTP1.UserNAME := nombre;
IdSMTP1.Password := password;
IdSMTP1.Host := host;
IdSMTP1.Port := port;
MENSAJE:=TIDMESSAGE.CREATE(nil);
with Mensaje do
begin
Body.Add(CUERPO);
From.Text := desde;
Recipients.EMailAddresses := hasta;
Subject := asunto;
Priority := TIdMessagePriority(mpHighest);//prioridad del mensaje
CCList.EMailAddresses := '';
BccList.EMailAddresses := '';
if adjunto<>'' THEN
  TIdAttachmentfile.Create(Mensaje.MessageParts,adjunto);
end;
with idsmtp1 do
begin
 try
    Connect;
    try
      // Envio el mensaje.
      Send(Mensaje);
    finally
      Disconnect;
    end;
//    MessageDlg('Enviado Correctamente', mtInformation, [mbOK], 0);
  except
     // Capturo algunas excepciones que pueden ocurrir
{    ON E: EProtocolReplyError do begin
    MessageDlg('No se ha podido enviar el email.' + #13 +
          'Incorrecto el email o el usuario o la password.', mtError, [mbOK], 0);
    end;}
    on E: EFOpenError do begin
    MessageDlg('No se ha podido enviar el email.' + #13 +
          'Fichero Adjunto desconocido o erróneo.', mtError, [mbOK], 0);
    end;
{    on E: EIdSocketError do begin
    MessageDlg('No se ha podido enviar el email.'+ #13 +
          'Host desconocido o incorrecto.', mtError, [mbOK], 0);
    end}
    else begin
    MessageDlg('Fallo en el envio de email', mtError, [mbOK], 0);
    end;
  end;
end;
IDSMTP1.free;
mensaje.free;
screen.cursor:=crdefault;
ENd;

Quim Herrera 17-02-2011 20:01:08

Hola,

Estoy buscando como mandar emails en Delphi 2009 con acentos en el asunto y en el body.

He probado este código con
asunto = 'test ÇçÑñÁàáÉèÈéÍíÒòÓóÚúÏÜ' y cuerpo = 'test ÇçÑñÁàáÉèÈéÍíÒòÓóÚúÏÜ' y tampoco funciona.
Lo envia bien, pero los textos llegan convertidos como: testCcNnAaaEeEeIiOoOoUuIU

¿A vosotros os pasa lo mismo o es mi Delphi 2009?

Gracias por adelantado,

Quim Herrera


La franja horaria es GMT +2. Ahora son las 07:57:13.

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