Raspberry Pi, envíame una carta

La abundancia de pequeñas placas interconectadas con Linux, como la Raspberry Pi, es una ventaja para los desarrolladores. Es bastante fácil poner una computadora pequeña y barata en la red. El hecho de que Linux tenga mucho software es doblemente sencillo. Por un lado, es una buena apuesta que se ha hecho todo lo que quieres hacer. Por otro lado, algunas de las soluciones son un poco grandes para un pequeño sistema integrado.

Tome el correo electrónico, por ejemplo. Históricamente, los hosts de Linux actúan como agentes de transferencia de correo que pueden enviar y recibir correo para todos sus usuarios e incluso pueden enviar correo a otros. En el mundo actual, eso suele ser demasiado grande, pero la capacidad está ahí. Es posible instalar grandes transferencias de correo en Raspberry Pi. La pregunta es: ¿tienes que hacerlo?

¿Qué quieres?

La respuesta, por supuesto, depende de lo que quieras hacer. Si tiene un panel de control especial que envía texto e incluso archivos a través de un servidor de correo electrónico externo (como Gmail), entonces la respuesta es no. No es necesario que un software escuche las comunicaciones entrantes, clasifique a varios usuarios, etc.

Afortunadamente, existen algunas soluciones simples si sabe cómo instalarlas y configurarlas. La clave es evitar los grandes programas de correo electrónico que hacen todo lo que no necesitas.

Terminaciones de correo electrónico

Primero manejemos el envío de correo. Si intenta tomar el paquete mailutils, verá que arrastra muchas cosas, incluido mysql. Recuerde que nada de esto enviará correo. Solo le brinda algunas herramientas para preparar una entrega de correo.

Afortunadamente, el paquete bsd-mailx es mucho menos costoso y funcionará. Eche un vistazo a la página de inicio para ver qué opciones tiene con mailx; puede hacer cosas como fusionar archivos, establecer un tema y especificar direcciones.

Sin embargo, Gmail es un poco complicado gracias a la seguridad de Google. Necesitará la herramienta de certificado del paquete libnss3-tools. Deberá crear un almacén de certificados, importar un certificado de Google y luego configurar muchas opciones para mailx. No lo estoy sugiriendo. Sin embargo, si insiste, puede encontrar direcciones en el sitio web.

SSMTP

Por defecto, programas como mailx y otros comandos de correo electrónico de Linux dependen de un backend (a menudo sendmail). Esto no solo arrastra demasiado, sino que también es un sistema de correo completo, enviando y recibiendo y transmitiendo, exagerando para nuestras pequeñas computadoras Pi.

Afortunadamente, SSMTP está disponible, que solo envía correo y es relativamente liviano. Necesita un archivo de configuración para apuntar a su servidor de correo electrónico. Para Gmail, tiene este aspecto:

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

# Where will the mail seem to come from?
rewriteDomain=yourdomain.com

# The full hostname
hostname=yourhostname
AuthUser=YourGmailUserID
AuthPass=YourGmailPassword
UseTLS=Yes
UseSTARTTLS=YES
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

Puede usar el correo electrónico como mailx o simplemente puede usar ssmtp directamente:

ssmtp [email protected]

Inserte un mensaje en la entrada estándar y termínelo con Control + D (final estándar del archivo para Linux).

Autenticación de Google

Pero hay una sola trampa. Si usa Gmail, encontrará que Google quiere que use una autenticación más sólida. Si usa dos factores (es decir, Google Authenticator), esto no funcionará en absoluto. Deberá generar una contraseña de programa. Incluso si no es así, probablemente tendrá que aliviar el miedo de Google a los spammers en su cuenta. Debe activar la configuración "Acceso para programas menos seguros". Si no desea hacer esto con su cuenta de correo electrónico principal, considere crear una cuenta que use solo para enviar datos desde el Pi.

Envío de archivos

Dependiendo del software de correo que utilice, existen varias formas de adjuntar un archivo. Sin embargo, el programa mpack lo hace fácil:

mpack -a -s 'Data File' datafile.csv [email protected]

El comando anterior enviará datafile.csv como un complemento con el tema "Archivo de datos". Bastante simple.

Recibiendo correo

¿Qué pasa si desea revertir el proceso y recibir correo en el Pi? Existe un programa llamado fetchmail que puede capturar correos electrónicos desde un servidor IMAP o POP3. Solo es posible leer el primer mensaje no leído y enviarlo a un script o programa de su elección.

Necesita crear un archivo de configuración (o usar el programa fetchmailconf para crearlo). Por ejemplo, aquí hay un archivo .fetchmailrc simple:

poll imap.gmail.com
protocol IMAP
user "[email protected]" with password "yourpassword" mda "/home/pi/mailscript.sh"
folder 'INBOX'
fetchlimit 1
keep
ssl

Puede dejar la línea "guardar" si no le importa que fetchmail elimine el correo después de procesarlo. El archivo debe estar en su directorio personal (a menos que lo especifique con la opción -f) y otros usuarios no deben poder leerlo ni escribirlo (por ejemplo, Chmod 600 .fetchmailrc). De acuerdo con las Preguntas frecuentes sobre fetchmail, hay algunos problemas con Gmail, por lo que es posible que desee considerar algunas de las ofertas sugeridas. Sin embargo, para tareas simples como esta, debe poder resolver todo.

Especialmente en el archivo mailscript.sh puede procesar el correo electrónico. Por ejemplo, podría buscar algunos comandos de palabras clave y realizar alguna acción (posiblemente respondiendo a través de ssmtp).

La entrega especial

Es posible que no piense en la Raspberry Pi como una máquina de correo electrónico. Sin embargo, el hecho de que sea una configuración bastante básica de Linux significa que puede usar todo tipo de herramientas interesantes destinadas a computadoras más grandes. Solo tienes que saber que existen.

  • mikemac dice:

    ¿Contraseñas de texto simples almacenadas en archivos de texto? ¡Guau! No se sorprenda si su cuenta de Gmail está empeñada y / o Google ha incluido su dispositivo en la lista negra.

    • Al Williams dice:

      Obviamente, necesita control de acceso en el archivo. También es muy fácil crear una dirección basura solo para este propósito.

    • torio dice:

      Sí, una contraseña de texto simple en un dispositivo que está destinado a funcionar dentro de su hogar, con Linux con el acceso a archivos adecuado configurado donde usted es el único usuario (o confía en todos los demás usuarios), en un archivo al que solo usted tiene acceso de lectura , accediendo a una cuenta de correo electrónico que solo usted conoce y que usará solo para comunicarse con el Pi.

      No es un problema.

    • mikemac dice:

      Lo que traté de decir es que "seguridad por suposición" es probablemente una estrategia incluso peor que "seguridad por oscuridad". (Este último, sin embargo, rima mejor).

      A asumió que, obviamente, aplicaría el control de acceso adecuado a los registrantes sin mencionar cuál podría ser. También asumió que usaría una cuenta de Gmail descartada, ya que son fáciles de crear. Supongo que el 75% de las personas que prueban esto primero usarán la información de su cuenta real y que el 50% de ellos olvidarán que escribieron su contraseña en un archivo de texto simple en el que no usaron "chmod".

      'thoriumber' asume que la distribución de Linux que descargó de la red es segura y está configurada correctamente de inmediato. También asume que su LAN es segura. (No tengo idea de si su LAN en particular es segura o no). Supongo que la mía también lo es, aunque no hago controles de seguridad con regularidad. Me parece un PITA demasiado grande y demasiado confuso para descifrar los archivos de registro. ¡Y debería saberlo mejor!

      Y aquí está la suposición de seguridad favorita de mi esposa: "¿Por qué alguien querría hackear mi máquina / información confidencial? No tengo nada de qué preocuparme".

      Estoy seguro de que los enrutadores (https://la-tecnologia.com/2016/09/26/extra-large-denial-of-service-attack-uses-dvrs-webcams/) asumieron que los usuarios cambiarían la contraseña a "Bueno "una. Los chicos de DVR probablemente asumieron que la prueba se eliminaría antes de que se enviara el producto.

      De todos modos, no estoy tratando de elegir específicamente A y "torio". Todos, incluyéndome a mí, seguimos asumiendo que nuestros sistemas son seguros y nos basamos en esa suposición, aunque hay mucha evidencia de que esta suposición es probablemente falsa.

      • RW dice:

        Pero también está "Meh, bastante bueno".

        Siempre es reprobable, como "Oh, veo que tienes una cerca alrededor de los 4 lados del edificio, ¿y arriba?".

        • Alan dice:

          ¿O un protocolo de túnel?

  • Cuerpo digital dice:

    Reacción general:
    ¿Los autores de HAD a menudo se olvidan de insertar etiquetas de lectura-más-después-de-la-pausa de los artículos? En los últimos 6 meses esto ha sucedido y es un poco molesto.

    • Dueto dice:

      bien, muy molesto.

    • notarealemail dice:

      ¿Por qué es esto tal cosa? ¿Es un dispositivo específico o algo así?

      • Roco dice:

        Sucede si lees las entradas del blog en la-tecnologia.com/blog/. Te veo comentando muchas publicaciones, así que supongo que no acumulas muchas publicaciones para leer. También leo a menudo HaD. Sin embargo, me imagino que si estás mirando todas las publicaciones o incluso usando el cuadro de búsqueda debería ser realmente molesto.

        • notarealemail dice:

          Bueno, lo entiendo, lo siento si mi pregunta sonó vil. Tienes razón, no me di cuenta de cuánto espacio se necesita en la página / blog.

  • James dice:

    Buen artículo A. Reviso los registros de mis dispositivos una vez cada década, pero reviso mi correo electrónico decenas de veces al día. Para mí, no hay mejor manera de saber qué está pasando con mis dispositivos integrados.

    Teniendo varios Beaglebones y PI en la casa, escribí un servidor SMTP / POP3 simple en Python para recibir notificaciones por correo electrónico de los dispositivos sin tener que participar en la configuración de cuentas y contraseñas. Solo funciona en una LAN o VPN, pero casi cualquier dispositivo que pueda abrir una conexión TCP puede enviar un correo electrónico con algún código.

    El código está disponible en https://github.com/medic15/baremail

    Hay muy poca configuración aparte de arrancarlo como un demonio o servicio en su sistema operativo en particular.

  • Palmadita dice:

    Tengo una pregunta para los chicos, ¿podría usarse esta computadora barata como servidor para una licencia LM flexible? Tenemos algunos programas más antiguos que usamos de vez en cuando, y es necesario que el programa llame a casa al servidor de licencias para usarlos.

  • crampones dice:

    Creo que fuimos trolleados por una imagen de cabra. No necesariamente la imagen completa en la parte superior del artículo principal, sino la imagen recortada en https://la-tecnologia.com/blog/

    Los colores son perfectos, el circuito se nubla ... incluso las líneas onduladas del sello indican aroma. ¿Veo un pólipo? Al, no estoy seguro de si chocarás los cinco o vomitarás en mi teclado. Compañía.

    • crampones dice:

      Esto es lo que vi ...

      https://s11.postimg.org/mbzg138dv/screenshot_la-tecnologia.com_2016_10_04_16_36_38.png

  • papá viejo dice:

    Leer dos veces. No lo entendí. Configurar smtp en cualquier equipo de Linux es trivial, ¿qué pasa con HW o al menos hackear SW? ¿Que sigue? ¿Cómo cambiar su contraseña de Windows?

    • RoGeorge dice:

      Tal vez no sea tan trivial como parece, porque es el primer ejercicio para El Desafío Eudíptico .

    • Al Williams dice:

      En una caja grande, ejecutaría algo como Exim. Eso consumiría al menos 2/3 de mi Pi, creo. Si piensas en algo como el Pi como simplemente escriba una caja grande de Linux al tamaño de una postal, se enojará mucho.

  • foxxpup dice:

    En cuanto a las preocupaciones de seguridad, puede recorrer un largo camino para configurar una cuenta de Gmail descartada y usarla como destino. Luego, establezca reglas / filtros en esa cuenta de Gmail que reenvíen el correo electrónico a su cuenta real. Incluso podría refinar los filtros y hacer diferentes referencias según el contenido recibido.

  • Digininja dice:

    Solo para informarle, su contenido está plagiado aquí.

    https://bash-and-so.blogspot.co.uk/2016/10/raspberry-pi-send-me-letter.html

Joel Carrasco
Joel Carrasco

Deja una respuesta

Tu dirección de correo electrónico no será publicada.