Adiciona imagens ao email
Publicado por Adriano Moreira da Silva (última atualização em 15/11/2011)
[ Hits: 6.341 ]
Homepage: http://adrianomoreira.eti.br
Download enviarEmailComImagensNoCorpo.sh
Shell script para mandar emails, com imagens embutidas no corpo html da mensagem.
#!/bin/bash
###############################################################################
#Adriano Moreira, novembro de 2011, tarde muito chuvosa de domingo
#Shell script para mandar emails, com imagens embutidas no corpo da mensagem,
#as imagens deverão estar no diretório em uso (pwd)
###############################################################################
###############################################################################
#Primeira parte: Personalização
#exemplo: "Adriano Moreira <adri3d@gmail.com>"
email_de="$USER <$USER@$HOSTNAME>"
#Como usar:
#exemplo1: "Marcelo <marcelo@exemplo.com>"
#exemplo2: "Marcelo <marcelo@exemplo.com>, Tania<marcelo@exemplo.com>, ..."
#Uma dica: Para enviar varios emails sem mostrar na mensagem quem mais recebeu
#troque esse valor por um parametro e chame esse script apartir de outro
email_para="Raul Seixas <raul@sky.net"
#use a criatividade
assunto="email $(uptime)"
#função que gera o cid para a tag img no html
echo "" > lista_images
function addimg(){
echo $1 >> lista_images
echo "cid:$( echo $1 | md5sum | awk '{print $1}' )"
}
##Aqui esta o corpo da mensagem em html
#Como usar:
#na tag img troque o src="foto.jpg" por src="$(addimg foto.jpg)"
html="
<!-- aqui uma mensage em texto -->
<p>bla bla bla<p>
<!-- aqui umas images -->
<img src=\"$(addimg 02.png)\" alt=\"texto alternativo da image 02\">
<img src=\"$(addimg 01.png)\" alt=\"texto alternativo da image 01\">
"
###############################################################################
#Segunda Parte: Montando o email na unha
boundary="--$(uptime | md5sum | awk '{print $1}')"
(
#cabeçalho
echo "To: $email_para"
echo "Subject: $assunto"
echo "MIME-Version: 1.0"
echo "Content-Type: multipart/mixed; boundary=\"$boundary\""
echo "From: $email_de"
echo
#corpo
echo "--$boundary"
echo "Content-Type: text/html; charset=utf-8"
echo "Content-Transfer-Encoding: Quot-Printed"
echo
echo "$html"
echo
for image in $(cat lista_images); do
echo
echo "--$boundary"
imagetype="$( echo $image | awk -F. '{print $NF}')"
case $imagetype in
png | PNG ) echo -n "Content-Type: image/png" ;;
jpg | JPG | jpeg | JPEG ) echo -n "Content-Type: image/jpeg" ;;
gif | GIF ) echo -n "Content-Type: image/gif" ;;
*) echo -n "Content-Type: image/$imagetype" ;;
esac
echo "; file_name = \"$image\"";
echo "Content-ID: <$( echo $image | md5sum | awk '{print $1}' )>";
echo "Content-Transfer-Encoding: base64";
echo "Content-Disposition: inline; filename = \"$image\";"
echo
echo $(openssl enc -base64 -in $image)
done
echo
echo "--$boundary"
) > mail_file
###############################################################################
#Parte Final: Enviando o email
for destinatario in $(echo $email_para | awk -F, '{print $1}');
do
cat mail_file| sendmail -t "$destinatario"
done
Personalizando o seu shell com bashrc_dahora
GETPLAMIGA - Baixe a Palavra Amiga do Bispo Macedo
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Secure boot, artigo interessante, nada técnico. (1)
Preciso recuperar videos *.mp4 corrompidos (1)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (6)









