Sugiro que você envie um e-mail real com um anexo de arquivo zip e examine o conteúdo bruto.
O que você descobrirá é que o e-mail será formatado de acordo com o padrão MIME que especifica como incluir vários arquivos formatos em um email textual.
No seu caso, o tipo de conteúdo de alto nível será algo como multipart / alternative ou multipart / mixed . Dentro disso haverá duas ou mais partes ou seções com seu próprio tipo de conteúdo . Um terá o tipo application / zip . A seção application / zip terá uma codificação de texto (por exemplo, Base 64) do arquivo zip.
Aqui está uma amostra:
From: John Doe <[email protected]>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="XXXXboundary text"
This is a multipart message in MIME format.
--XXXXboundary text
Content-Type: text/plain
this is the body text
--XXXXboundary text
Content-Type: text/html
<html>
...Body of email in HTML format...
</html>
--XXXXboundary text
Content-Type: application/zip;
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.zip"
BASE64 ENCODING TEXT HERE
--XXXXboundary text--
Mais algumas informações: Email Anexos de arquivo usando o MIME
Voltar para a raiz da sua pergunta, como fazer isso? Eu não estou familiarizado com nenhuma ferramenta independente que ajude a construir um email como este, mas eu ficaria surpreso se você não pudesse encontrar algo útil. Talvez um dos clientes de email suporte operações de linha de comando / em massa. Mas, se o pior acontecer, é tudo apenas texto ASCII, para que você possa construí-lo manualmente de acordo com o que está fazendo com seu e-mail HTML. Mas eu sugiro que você construa a mensagem em um arquivo temporário antes de enviá-lo ao seu agente de email. (Olhe para "aqui documentos" para facilitar a gravação de grandes quantidades de texto.)
E, como indicado, você precisará converter seu arquivo zip para o Base 64. Quase toda instalação Linux deve ter o utilitário base64
ou equivalente. Basta passar o seu zip para ele e anexar ao seu arquivo de e-mail no momento adequado ...
base64 test.zip >> my-email-file.txt