diMail - envia e-mail com um front do dialog

Publicado por Jefferson Rocha (última atualização em 18/06/2018)

[ Hits: 1.132 ]

Homepage: https://slackjeff.com.br

Download dimail




Programa que envia e-mail com um front do dialog.

A anexação da configuração do Mutt é feita através do próprio fonte do programa, preencha corretamente e comece a utilizar!

Necessita do mutt e dialog previamente instalado em sua máquina, e claro por ser um programa feito em bash, necessita do bash para brincadeira funcionar.

Manutenções do programa estão aqui: https://notabug.org/jeffersonrocha/dimail

  



Esconder código-fonte

#!/usr/bin/env bash
#-----HEADER------------------------------------------------------------------#
#AUTOR
# Jefferson Rocha <lrcjefferson@gmail.com>
#
#PROGRAMA
# diMail
#
#DESCRIÇÃO
# Programa que envia e-mail com um front do dialog! A anexação da configuração
# do Mutt é feito atraves do próprio fonte do programa, preecha #corretamente
# e comece a utilizar!
#
#LICENÇA
# diMail - An Automated packaging tool for Slackware Linux
# Copyright (C) 2018 Jefferson Rocha
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
#VERSÃO
# 1.0
#
#-----------------------------------------------------------------------------#


#---CONFIGURACOES--------#
seu_nome="nome"
seu_email="user@gmail.com"
seu_usuario="user" # exemplo lrcjefferson de lrcjefferson@gmail.com
sua_senha="senha"
#------------------------#



#----NÃO MEXER DAQUI PARA BAIXO!----#


#---VARS-----------------#
mail_arq="/tmp/mail.txt"
mutt_conf="/tmp/.conf"
#------------------------#


#---FUNÇÕES--------------#

# Envia as configurações do mutt para um
# arquivo temporario, assim o mutt consegue
# enviar o e-mail com as configurações desejadas.
conf_muttrc(){
cat > /tmp/.conf <<END
set from="$seu_email"
set realname="$seu_nome"
set imap_user="$seu_email"
set imap_pass="$sua_senha"

set smtp_url="smtps://${seu_usuario}@smtp.gmail.com:465/"
set smtp_pass="$sua_senha"
set ssl_starttls=yes
set ssl_force_tls=yes
END
}


limpa_cache(){
if rm "$mutt_conf"; then
    if rm "$mail_arq"; then
          echo -e "Arquivos ${mutt_conf} e ${mail_arq}, foram apagados com sucesso."
else
    echo -e "Não foi possivel apagar os arquivos:\n${mutt_conf} 'e' ${mail_arq}"
   fi
fi
}

#------------------------#


#---TESTE INICIAIS-------#

# Dependencias necessárias para prosseguir (Dialog, OpenSSL, Mutt)
[[ $(which dialog 2>/dev/null) ]] || { echo "Necessita do Dialog para prosseguir" ; exit 1 ;}
[[ $(which openssl 2>/dev/null) ]] || { echo "Necessita do OpenSSL para prosseguir" ; exit 1 ;}
[[ $(which mutt 2>/dev/null) ]] || { echo "Necessita do Mutt para prosseguir" ; exit 1 ;}


# Usuário tem internet?
# Se não ter bye!
if ! wget -q --spider www.google.com; then
   dialog --infobox "Sem Internet! Conexe e retorne." 0 0
   exit 1
fi


# Se o arquivo temporario de armazenamento
# do email não existir, vamos criar!
[[ ! -e "$mail_arq" ]] && > "$mail_arq"

#------------------------#



#--Começa Aqui-----------#

# Qual o Email de destino?
while :; do
      mail_destino=$(
           dialog --stdout                         \
           --title "DESTINO"                      \
           --inputbox "E-MAIL do DESTINO " \
           8 50
)
      # Se entrada for nula leva esporro!
      if [[ -z "$mail_destino" ]]; then
            dialog --title "Mensagem para o Além."                                                       \
            --ok-label "Retornar"                                                                               \
            --msgbox "Você vai enviar o e-mail para o além? digite um E-MAIL válido!" \
            8 40
      else
            break
      fi

done


# Corpo da mensagem será escrito aqui.
# e enviado para o arquivo temporario.
mensagem=$(
   dialog --stdout                                                \
  --title "Digite O Corpo da Mensagem." --backtitle "diMail" \
   --ok-button "Enviar"                                                        \
   --editbox "$mail_arq"                                                     \
  0 0 > "$mail_arq"
)


# Chamando função para gerar arquivo temporário
conf_muttrc

# Vamos enviar o email?
if mutt -s "Assunto" "$mail_destino" -F "/tmp/.conf" < "$mail_arq" 2> /dev/null; then
      dialog --title "CONCLUÍDO!"                   \
      --msgbox "E-mail enviado com sucesso!"        \
      6 30
else
   dialog --infobox "Houve um erro" 0 0
fi


limpa_cache # Limpando arquivos temporarios!






Scripts recomendados

olhaMeuDesktop 0.1 - Aplicativo para gravar Área de Trabalho

Conecção banda larga!

Script de iniclização do Exim para Funcionamento com MailScanner

Dê utilidade aquelas teclas que não servem pra nada do seu teclado

Remove linhas


  

Comentários
[1] Comentário enviado por iagolira em 07/07/2018 - 09:53h

Só lembrando que para usar o diMail corretamente devemos autorizar a execução de aplicativos menos seguros em https://myaccount.google.com/intro/security.

Este script do Jefferson Rocha está show!

Nome: Francisco Iago Lira Passos
Curso: Mestrando em Física


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts