Created
August 28, 2018 05:21
-
-
Save rauhmaru/75d48481c90c8dd91a8cf77f71bf5fde to your computer and use it in GitHub Desktop.
Script para gerar certificados
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Gera certificados com base em uma lista | |
# Raul Libório | |
#v 0.1 - script com geracao de certificados e envio | |
#v 0.2 - conversao em caixa alta antes do envio | |
# recomendo que coloque todos os caracteres em caixa alta antes, com | |
# a ajuda do libreOffice, é mais simples. Faremos essa atualização em breve | |
# ANTES DE UTILIZAR A LISTA DE PARTICIPANTES REAL, RECOMENDO QUE TESTE | |
# EXAUSTIVAMENTE. O comando "sleep 2" serve de proteção, pois o seu provedor pode | |
# segurar a saída, achando que você está fazendo spam. | |
# Arquivo com lista de nomes a ser impresso | |
LISTA="$1" | |
#Lista com os nomes em caixa alta, sem duplicatas e sem sinais | |
LISTA_LIMPA="/tmp/lista_limpa.txt" | |
# Caminho do arquivo template onde sera' impresso os nomes | |
TEMPLATE="$2" | |
geracertificado(){ | |
uniq -i $LISTA | cut -f1 | tr [:lower:] [:upper:] > $LISTA_LIMPA | |
[ -d OUTPUT ] || mkdir OUTPUT | |
# Limpa as duplicatas de case sensitive e transforma todos em caixa alta | |
CONT=1 | |
while read NOME; do | |
convert $TEMPLATE -stroke none -pointsize 45 -fill white -gravity center -annotate +0-15 "$NOME" OUTPUT/"$NOME".pdf | |
echo "$CONT - $NOME" | |
let CONT=$CONT+1; | |
done < $LISTA_LIMPA | |
} | |
envio(){ | |
export flisol_emailto="$EMAIL" | |
# nome do evento | |
export flisol_subject="CERTIFICADO FLISOL 2014" | |
export flisol_body="$MENSAGEM" | |
export smtpserver=smtp.gmail.com | |
# conta que enviara os emails | |
export [email protected] | |
# password da conta | |
export smtppass=password | |
# Endereço que sera' exibido no envio | |
export smtpemailfrom='SFD2014<[email protected]>' | |
# Script! | |
while read NOME; do | |
# Corpo do email enviado | |
MENSAGEM=" | |
Ola, $NOME\n\n | |
Segue em anexo o seu certificado de participacao do Software Freedom Day 2014.\n | |
Agradecemos pela sua presenca! Nos vemos ano que vem!\n\n | |
Software Freedom Day 2014 SALVADOR/BA | |
" | |
EMAIL=$( grep -i "$NOME" $LISTA | awk '{print $NF}' | tr [:upper:] [:lower:]) | |
CERTIFICADO="OUTPUT/$NOME.pdf" | |
echo $NOME | |
echo $EMAIL | |
echo ------- | |
/usr/bin/sendEmail -f $smtpemailfrom -t $EMAIL -u $flisol_subject -m $MENSAGEM -s $smtpserver:25 -xu $smtplogin -xp $smtppass -a "$CERTIFICADO" | |
#echo -e "NOME: $NOME \t EMAIL: $EMAIL\t CERT: $CERTIFICADO" | |
sleep 2 | |
done < $LISTA_LIMPA | |
} | |
geracertificado | |
# descomente essa funcao para que ele envie os certificados | |
# envio |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment