Envíe un correo electrónico con texto sin formato con un archivo adjunto de texto sin formato con mailx:
(
/usr/bin/uuencode attachfile.txt myattachedfilename.txt;
/usr/bin/echo "Body of text"
) | mailx -s 'Subject' youremail@gmail.com
A continuación se muestra el mismo comando que el anterior, sin las nuevas líneas.
( /usr/bin/uuencode /home/el/attachfile.txt myattachedfilename.txt; /usr/bin/echo "Body of text" ) | mailx -s 'Subject' youremail@gmail.com
Asegúrese de tener un archivo /home/el/attachfile.txt
definido con este contenido:
<html><body>
Government discriminates against programmers with cruel/unusual 35 year prison
sentences for making the world's information free, while bankers that pilfer
trillions in citizens assets through systematic inflation get the nod and
walk free among us.
</body></html>
Si no tiene uuencode, lea esto: /unix/16277/how-do-i-get-uuencode-to-work
En Linux, envíe el correo electrónico del cuerpo HTML con un archivo adjunto PDF con sendmail:
Asegúrese de tener instalado ksh: yum info ksh
Asegúrese de tener sendmail instalado y configurado.
Asegúrese de tener uuencode instalado y disponible: /unix/16277/how-do-i-get-uuencode-to-work
Crea un nuevo archivo llamado test.sh
y ponlo en tu directorio personal:/home/el
Pon el siguiente código en test.sh
:
#!/usr/bin/ksh
export MAILFROM="el@defiant.com"
export MAILTO="youremail@gmail.com"
export SUBJECT="Test PDF for Email"
export BODY="/home/el/email_body.htm"
export ATTACH="/home/el/pdf-test.pdf"
export MAILPART=`uuidgen` ## Generates Unique ID
export MAILPART_BODY=`uuidgen` ## Generates Unique ID
(
echo "From: $MAILFROM"
echo "To: $MAILTO"
echo "Subject: $SUBJECT"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"$MAILPART\""
echo ""
echo "--$MAILPART"
echo "Content-Type: multipart/alternative; boundary=\"$MAILPART_BODY\""
echo ""
echo "--$MAILPART_BODY"
echo "Content-Type: text/plain; charset=ISO-8859-1"
echo "You need to enable HTML option for email"
echo "--$MAILPART_BODY"
echo "Content-Type: text/html; charset=ISO-8859-1"
echo "Content-Disposition: inline"
cat $BODY
echo "--$MAILPART_BODY--"
echo "--$MAILPART"
echo 'Content-Type: application/pdf; name="'$(basename $ATTACH)'"'
echo "Content-Transfer-Encoding: uuencode"
echo 'Content-Disposition: attachment; filename="'$(basename $ATTACH)'"'
echo ""
uuencode $ATTACH $(basename $ATTACH)
echo "--$MAILPART--"
) | /usr/sbin/sendmail $MAILTO
Cambie las variables de exportación en la parte superior test.sh
para reflejar su dirección y nombres de archivo.
Descargue un documento pdf de prueba y póngalo en /home/el
pdf-test.pdf
Cree un archivo llamado /home/el/email_body.htm y ponga esta línea en él:
<html><body><b>this is some bold text</b></body></html>
Asegúrese de que el archivo pdf tenga suficientes 755 permisos.
Ejecute el script ./test.sh
Verifique su bandeja de entrada de correo electrónico, el texto debe estar en formato HTML y el archivo pdf debe interpretarse automáticamente como un archivo binario. Tenga cuidado de no usar esta función más de 15 veces en un día, incluso si se envía los correos electrónicos a usted mismo, los filtros de spam en gmail pueden incluir en la lista negra un dominio que arroja correos electrónicos sin darle la opción de dejarlos pasar. Y descubrirá que esto ya no funciona, o solo deja pasar el archivo adjunto, o el correo electrónico no llega en absoluto. Si tiene que hacer muchas pruebas sobre esto, extiéndalas durante días o se lo etiquetará como spammer y esta función ya no funcionará.