¿Cómo encriptar el contenido del correo desde Excel?

Para encriptar el contenido del correo desde Excel, necesitarás utilizar algunas herramientas o métodos específicos, ya que Excel por sí solo no proporciona una función directa para encriptar y enviar correos electrónicos desde la aplicación. A continuación, te presento un enfoque general que podrías seguir utilizando VBA (Visual Basic for Applications) para automatizar el proceso:

  • Preparación del Entorno:
    • Abre Excel y ve al Editor de VBA presionando `ALT` + `F11`.
    • Inserta un nuevo módulo desde el menú `Insertar > Módulo`.
  • Código VBA para Encriptar y Enviar Correo:

Puedes usar una simple encriptación de texto como Base64 para ilustrar el proceso. Sin embargo, esto no es seguro para datos sensibles. Para una encriptación más fuerte, deberías considerar librerías especializadas o servicios externos.

   Sub EnviarCorreoEncriptado()
       Dim OutlookApp As Object
       Dim OutlookMail As Object
       Dim Rango As Range
       Dim Datos As String
       Dim DatosEncriptados As String
       
       ' Captura el rango que deseas encriptar y enviar
       Set Rango = ThisWorkbook.Sheets("Hoja1").Range("A1:B10")
       
       ' Concatena el contenido del rango a una cadena de texto
       Datos = ""
       For Each Celda In Rango
           Datos = Datos & Celda.Value & ","
       Next Celda
       
       ' Encripta los datos como Base64 (ejemplo simple, no recomendado para datos sensibles)
       DatosEncriptados = EncriptarBase64(Datos)
       
       ' Configura la aplicación de Outlook
       Set OutlookApp = CreateObject("Outlook.Application")
       Set OutlookMail = OutlookApp.CreateItem(0)
       
       ' Configura el correo
       With OutlookMail
           .To = "destinatario@ejemplo.com"
           .Subject = "Datos Encriptados desde Excel"
           .Body = "Contenido encriptado: " & vbCrLf & DatosEncriptados
           .Send
       End With
       
       ' Liberar objetos
       Set OutlookMail = Nothing
       Set OutlookApp = Nothing
   End Sub

   Function EncriptarBase64(ByVal Texto As String) As String
       Dim arrData() As Byte
       arrData = StrConv(Texto, vbFromUnicode)
       EncriptarBase64 = EncodeBase64(arrData)
   End Function

   Function EncodeBase64(bytes() As Byte) As String
       Dim objXML As Object
       Dim objNode As Object
       Set objXML = CreateObject("MSXML2.DOMDocument.6.0")
       Set objNode = objXML.createElement("b64")
       objNode.DataType = "bin.base64"
       objNode.nodeTypedValue = bytes
       EncodeBase64 = objNode.Text
       Set objNode = Nothing
       Set objXML = Nothing
   End Function
  • Ejecutar la Macro:
    • Una vez que hayas añadido el código, guarda y cierra el Editor de VBA.
    • Ejecuta la macro `EnviarCorreoEncriptado` desde la pestaña «Desarrollador» o usando `ALT` + `F8` y seleccionando la macro para correrla.
  • Nota Importante:
    • Este ejemplo utiliza encriptación Base64, que no es segura para proteger datos confidenciales. Si necesitas una encriptación segura, considera usar servicios o librerías que ofrezcan métodos de encriptación más robustos como AES.
    • Este código requiere que Outlook esté instalado y configurado en tu computadora.

Si manejas datos sensibles, es crucial utilizar métodos de seguridad avanzados, como protocolos de encriptación de extremo a extremo y asegurar que solo los destinatarios autorizados tengan acceso a las claves de descifrado.

Conoce nuestros servicios

Conoce nuestra tienda

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Deja un comentario