with AWS.SMTP;
with AWS.Mail;
with AWS.MIME;
procedure SendEmailWithAttachment is
-- Configura los detalles del servidor SMTP y las credenciales
SMTP_Server : constant String := "smtp.example.com";
SMTP_Port : constant Positive := 587;
Username : constant String := "tu_usuario";
Password : constant String := "tu_contraseña";
-- Configura los detalles del correo electrónico
Sender : constant String := "tu_email@example.com";
Recipient : constant String := "destinatario@example.com";
Subject : constant String := "Correo con archivo adjunto";
Message : constant String := "Adjunto encontrarás el archivo que necesitas.";
-- Ruta del archivo adjunto
Attachment_Path : constant String := "ruta_del_archivo/archivo_adjunto.txt";
-- Crea una instancia del servidor SMTP
SMTP_Client : AWS.SMTP.SMTP_Client;
begin
-- Inicia la conexión con el servidor SMTP
SMTP_Client.Init(SMTP_Server, SMTP_Port);
-- Autentica con el servidor SMTP
SMTP_Client.Authenticate(Username, Password);
-- Crea un objeto MIME para el correo electrónico
MIME_Message : AWS.MIME.Message := AWS.Mail.Create_MIME_Message;
-- Configura los campos del correo electrónico
MIME_Message.Set_Header("From", Sender);
MIME_Message.Set_Header("To", Recipient);
MIME_Message.Set_Header("Subject", Subject);
-- Adjunta el archivo al correo electrónico
MIME_Message.Add_Attachment(Attachment_Path);
-- Agrega el cuerpo del mensaje
MIME_Message.Set_Body(Message);
-- Envía el correo electrónico
SMTP_Client.Send(MIME_Message'Unrestricted_Access');
-- Cierra la conexión con el servidor SMTP
SMTP_Client.Disconnect;
exception
when others =>
-- Manejo de errores
Put_Line("Error al enviar el correo electrónico: " & Exception_Name);
end SendEmailWithAttachment;