Adiciona imagens ao email
Publicado por Adriano Moreira da Silva (última atualização em 15/11/2011)
[ Hits: 6.173 ]
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
Cálculo de área de cobertura de toner/tinta em uma impressão
Baixar e usar Bíblia Sagrada usando o terminal linux
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Meus HDs não aparecem mais no boot da placa mãe (23)
Criar entrada no GRUB para uma ISO Linux (4)
Instalação do Ubuntu 22.04 LTS (8)
Problema em instalar o PySide6 no Ubuntu 24.04 [RESOLVIDO] (3)