Adiciona imagens ao email
Publicado por Adriano Moreira da Silva (última atualização em 15/11/2011)
[ Hits: 6.182 ]
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
Jogo campo minado em Shell Script
Somar e exibir resultados gerados pelo monitoramento do DNS
Configurando acesso ao MS SQL Server nativo e via ODBC no Debian GNU/Linux
Configurar gateway e servidor DNS com dialog
Nenhum comentário foi encontrado.
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
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
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
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
Linux Mint não conecta Wi-Fi sem fio (23)
Criar perfil temporário no Active Directory samba4-21 (2)
Meu Kubuntu não inicia, além do modo de recuperação (no meu dualboot (1)