Script que envia email para um Relay sem autenticação.
Publicado por Alessandro Dias 09/04/2007
[ Hits: 7.188 ]
Script que envia email para um Relay sem autenticação.
O script pode enviar email para 5 destinatários com até 8 arquivos anexados.
Utilizei um relay aberto que tenho no trabalho.
#!/usr/bin/expect -f
# @ Alessandro Dias [18/09/2006]
# envia_email.sh [arg0] [arg1] [arg2] [arg3] [arg4] [arg5] [arg6] [argv7-14]
# Argumentos:
# 0 - $TO1 - destinatario do email (TO1)
# 1 - $TO2 - copia para o email TO2
# 2 - $TO3 - copia para o email TO3
# 3 - $TO4 - copia para o email TO4
# 4 - $TO5 - copia para o email TO4
# 5 - $SUBJECT - assunto do email
# 6 - $DATA - corpo do email
# 7 - $ATTACH - arquivo anexado
# 8 - $ATTACH2 - arquivo anexado
# 9 - $ATTACH3 - arquivo anexado
# 10 - $ATTACH4 - arquivo anexado
# 11 - $ATTACH5 - arquivo anexado
# 12 - $ATTACH6 - arquivo anexado
# 13 - $ATTACH7 - arquivo anexado
# 14 - $ATTACH8 - arquivo anexado
set RELAY "10\.144\.104\.101"
set TO1 [lindex $argv 0]
set TO2 [lindex $argv 1]
set TO3 [lindex $argv 2]
set TO4 [lindex $argv 3]
set TO5 [lindex $argv 4]
set SUBJECT [lindex $argv 5]
set DATA [lindex $argv 6]
set ATTACH1 [lindex $argv 7]
set ATTACH2 [lindex $argv 8]
set ATTACH3 [lindex $argv 9]
set ATTACH4 [lindex $argv 10]
set ATTACH5 [lindex $argv 11]
set ATTACH6 [lindex $argv 12]
set ATTACH7 [lindex $argv 13]
set ATTACH8 [lindex $argv 14]
set FILENAME1 [exec basename $ATTACH1]
set FILENAME2 [exec basename $ATTACH2]
set FILENAME3 [exec basename $ATTACH3]
set FILENAME4 [exec basename $ATTACH4]
set FILENAME5 [exec basename $ATTACH5]
set FILENAME6 [exec basename $ATTACH6]
set FILENAME7 [exec basename $ATTACH7]
set FILENAME8 [exec basename $ATTACH8]
spawn telnet $RELAY 25
expect "220 dpf.gov.br ESMTP"
send "helo dpf.gov.br\r"
expect "250 canario.dpf.gov.br"
send "mail from\: <suporte@ditec.dpf.gov.br>\r"
expect "250 Ok"
send "rcpt to\: \<$TO1\>\r"
expect "250 Ok"
send "rcpt to\: \<$TO2\>\r"
expect "250 Ok"
send "rcpt to\: \<$TO3\>\r"
expect "250 Ok"
send "rcpt to\: \<$TO4\>\r"
expect "250 Ok"
send "rcpt to\: \<$TO5\>\r"
expect "250 Ok"
send "data\r"
expect "354 End data with <CR><LF>.<CR><LF>"
send "from\: suporte@ditec.dpf.gov.br\r"
send "to\: $TO1\r"
send "subject: $SUBJECT\r"
send "Mime-Version: 1.0\r"
send "Content-Type\: multipart\/mixed\; boundary\=\"boundarystring\"\r"
send "\r\--boundarystring\r"
send "Content-Type\: text\/plain\; charset\=US-ASCII \r\r"
send "Backup realizado em [exec date]\r"
send "$DATA\r"
send "\r\--boundarystring\r"
if {$FILENAME1 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME1\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME1\"\r"
send [exec openssl enc -base64 -in $ATTACH1]
send "\r\--boundarystring\r"
}
if {$FILENAME2 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME2\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME2\"\r"
send [exec openssl enc -base64 -in $ATTACH2]
send "\r\--boundarystring\r"
}
if {$FILENAME3 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME3\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME3\"\r"
send [exec openssl enc -base64 -in $ATTACH3]
send "\r\--boundarystring\r"
}
if {$FILENAME4 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME4\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME4\"\r"
send [exec openssl enc -base64 -in $ATTACH4]
send "\r\--boundarystring\r"
}
if {$FILENAME5 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME5\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME5\"\r"
send [exec openssl enc -base64 -in $ATTACH5]
send "\r\--boundarystring\r"
}
if {$FILENAME6 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME6\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME6\"\r"
send [exec openssl enc -base64 -in $ATTACH6]
send "\r\--boundarystring\r"
}
if {$FILENAME7 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME7\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME7\"\r"
send [exec openssl enc -base64 -in $ATTACH7]
send "\r\--boundarystring\r"
}
if {$FILENAME8 ne ""} {
send "Content-Type\: application/octet-stream\;name\=\"$FILENAME8\"\r"
send "Content-Transfer-Encoding\: base64\r"
send "Content-Disposition\: attachment\;filename\=\"$FILENAME8\"\r"
send [exec openssl enc -base64 -in $ATTACH8]
send "\r\--boundarystring\r"
}
send "\r.\r"
expect "250 Ok"
send "quit\r"
expect eof
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS MYSQL
pptd - Simples daemon para controle de conexões pptp.
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?
Warcraft II Remastered no Linux? (6)
O programa assinador digital (5)









