Envie correio com um anexo e corpo de correio com formato de tabela

0

Eu preciso enviar um e-mail com um anexo e um corpo de e-mail em formato de tabela.Eu usei o código abaixo para enviar e-mails. mas incapaz de anexar arquivo.

 (echo "From: ";    
  echo "Subject: testing of table using awk";  
  echo "Content-type: text/html";    
  echo;     
  awk 'BEGIN{print "<table>"} {print "<tr><tr>";for(i=1;i<=NF;i++)print "<td><td>" $i"</td></td>";print  "</tr></tr>"} END{print "</table>"}' input1.txt;
 ) | sendmail [email protected]
    
por msp9011 07.03.2018 / 18:14

2 respostas

0

Usando sendmail :

TO_ADDRESS="[email protected]"
SUBJECT="Test Mail"

cat << --OEF--
Subject: $SUBJECT
TO: $TO_ADDRESS
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="MAIL_BOUNDARY"


--MAIL_BOUNDARY
Content-Type: multipart/alternative;
boundary="MAIL_BOUNDARY2"

--MAIL_BOUNDARY2
Content-Type: text/plain; charset=utf-8

$SUBJECT

--MAIL_BOUNDARY2
Content-Type: text/html; charset=utf-8

--OEF--
cat MailBody.html 

cat << --OEF--

--MAIL_BOUNDARY2--

--MAIL_BOUNDARY
Content-Type: application/zip; name=file.zip
Content-Disposition: attachment; filename=file.zip
Content-Transfer-Encoding: base64

--OEF--
base64  /opt/file.zip
cat << --OEF--

--MAIL_BOUNDARY--
--OEF--
) |  /usr/sbin/sendmail $TO_ADDRESS 
    
por 16.05.2018 / 19:39
2

Tente usar uma versão do comando mail que suporta -a (anexo). É a solução mais confiável.

s-nail tenha!

email=foo@base

mail -v -s subject foo@bar -a file.txt -q - <<EOF 
$(awk '
    BEGIN{print "<table>"}
    {
        print "<tr><tr>";
        for(i=1;i<=NF;i++) {
            print "<td><td>" $i"</td></td>";
            print  "</tr></tr>";
        }
    }
    END{print "</table>"}' input1.txt
)

.
EOF

Verifique man mail se você precisar adicionar cabeçalhos e tais

    
por 07.03.2018 / 18:21