Pregunta :¿Cómo envío un correo electrónico con un archivo adjunto desde la línea de comandos de Linux (o script de shell)? Además, ¿puedo enviar adjuntos y cuerpo de texto juntos en un correo electrónico desde la línea de comandos de Linux?
Respuesta :puede enviar tanto el archivo adjunto como el texto del cuerpo (o solo el archivo adjunto con una línea de asunto) desde la línea de comandos de Linux, como se explica a continuación.
1. Enviar un correo electrónico con asunto y cuerpo
Por lo general, enviaría un correo electrónico desde la línea de comandos de Linux con una línea de asunto y un cuerpo de texto como se muestra a continuación. Tenga en cuenta que debe escribir un . (punto) en una línea separada para indicar que el cuerpo del texto ha terminado.
$ mail [email protected] Subject: Email Testing from Linux Dear, It is very easy to send an email from Linux command line. Thanks, Ramesh . Cc: [email protected]
Si desea leer el texto del cuerpo de un archivo (por ejemplo, body-message.txt), envíe el correo electrónico como se muestra a continuación.
$ cat body-message.txt | mail -s "Email testing from Linux" [email protected]
2. Enviar un correo electrónico con un archivo adjunto
Para enviar un archivo adjunto desde el correo electrónico, use el comando uuencode. En RedHat (y distribuciones relacionadas), uuencode es parte del paquete sharutils. Por lo tanto, instale los sharutils como se muestra a continuación.
# rpm -ivh sharutils-4.6.1-2.i386.rpm Preparing... ############################## [100%] 1:sharutils ############################## [100%]
Una vez que haya confirmado que tiene uuencode, envíe el correo electrónico con un archivo adjunto como se muestra a continuación.
$ uuencode input-attachment.txt output-attachment.txt | \ mail -s "Email With Attachment" [email protected]
En este ejemplo,
- input-attachment.txt es el archivo que desea adjuntar al correo electrónico.
- Si desea que el archivo se adjunte con un nombre diferente, especifíquelo como segundo parámetro del uuencode. En este ejemplo, el contenido del archivo intput-attachment.txt se adjuntará como output-attachment.txt
Nota:uuencode también se puede usar para enviar archivos adjuntos en base64, como se muestra a continuación.
$ uuencode -m input-attachment.txt output-attachment.txt | \ mail -s "Email With Base64 Attachment" [email protected]
3. Enviar un correo electrónico con archivo adjunto y cuerpo
Puede enviar un correo electrónico con un archivo adjunto y un mensaje de cuerpo como se muestra a continuación.
$ ( cat body-message.txt; uuencode input-attachment.txt output-attachment.txt ) \ | mail -s "Email With Body Text and Attachment" [email protected]