Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para iOS/OSX (https://www.clubdelphi.com/foros/forumdisplay.php?f=56)
-   -   Enviar Email de forma nativa desde IOS (https://www.clubdelphi.com/foros/showthread.php?t=97190)

krilian 28-01-2025 17:57:39

Enviar Email de forma nativa desde IOS
 
Hola compañeros, tengo un problema, estoy desarollando una app que permite llevar un registro de una obra, con las horas de los trabajadores y los materiales, cuando este parte se envia, se genera un pdf y un archivo excel que se supone que se debe enviar por correo, esto en android funciona correctamente, pero no estoy encontrando la forma de hacerlo funcionar en ios.

He intentado hacer servir esta libreria: (Todavia no puedo poner enlaces, asi que pongo el nombre de la libreria alguna duda preguntad!)

Woll2Woll FirePower wwEmailWithAttachment

Como he dicho antes en android me funciona pero en Ios me suelta una excepcion, alguien sabe porque se debo, o conoze alguna alternativa a este metodo, gracias!

pgranados 28-01-2025 19:57:20

Ya intentaste con los componentes Indy? Usa el TIdSMTP, seria algo así:

Código Delphi [-]
procedure EnviarMensaje(Texto, RutaFile:String);
var
   SMTP: TIdSMTP;
   Mensaje: TIdMessage;
   Adjunto: TIdAttachment;
begin
    SMTP := TIdSMTP.Create(nil);
    SMTP.Username := 'tucorreo@mail.com';
    SMTP.Password := 'password';
    SMTP.Host := 'host';
    SMTP.Port := puertoaqui;

    if NecesitaAuth then
      SMTP.AuthType := satDefault
    else
      SMTP.AuthType := satNone;

    if NecesitaSSL then
    begin
      SMTP.IOHandler:= IdSSLIOHandlerSocketOpenSSL1;
      SMTP.UseTLS:= utUseExplicitTLS;
    end;

    // Creamos el contenido del mensaje
    Mensaje := TIdMessage.Create( nil );
    Mensaje.Clear;
    Mensaje.From.Address := 'tucorreo@mail.com';
    Mensaje.Subject := 'Asunto';
    Mensaje.Body.Text := Texto;
    Mensaje.Recipients.EmailAddresses := 'correodestino@correo.com';

    if FileExists( sAdjunto ) then
       Adjunto := TIdAttachmentFile.Create(Mensaje.MessageParts, RutaFile )
   else
       Adjunto:= nil;

    try
      SMTP.Connect;
    except
      raise SysUtils.Exception.Create(lsMsj);
    end;

    // Si ha conectado enviamos el mensaje y desconectamos
    if SMTP.Connected then
    begin
      // Enviamos el mensaje
      try
        SMTP.Send(Mensaje);
      except
        raise SysUtils.Exception.Create(lsMsj);
      end;

      // Hacemos la desconexión
      try
        SMTP.Disconnect;
      except
        raise SysUtils.Exception.Create( 'Error al desconectar del servidor.' );
      end;
    end;

    FreeAndNil( Adjunto );
    FreeAndNil( Mensaje );
    FreeAndNil( SMTP );

end;

mamcx 29-01-2025 16:48:18

Cita:

Empezado por krilian (Mensaje 561506)
Como he dicho antes en android me funciona pero en Ios me suelta una excepcion, alguien sabe porque se debo, o conoze alguna alternativa a este metodo, gracias!

Y que error sale?


La franja horaria es GMT +2. Ahora son las 09:40:55.

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