Sto provando a eseguire uno script che accetta un file di testo, lo comprime usando Archive :: Zip e invia il file zip come allegato via smtp utilizzando Email :: Mittente per creare un messaggio mimo.File zip inviato con perl Email :: Il mittente è danneggiato
Posso inviare file txt in perl senza corruzione. Posso inviare il file che perl chiude manualmente senza corruzione. Non riesco a inviare un file zippato manualmente tramite perl.
Sospetto che il mio problema sia con la lettura del file zippato, o la creazione del messaggio MIME. Ecco il codice rilevante, che è essenzialmente il codice dalla sinossi di Email :: MIME, dove $ fileToSend è il percorso del file zippato.
Qualche idea?
use strict;
use warnings;
use Email::MIME;
use Email::Sender::Transport::SMTP;
use Email::Sender::Simple qw(sendmail);
use Archive::Zip qw(:ERROR_CODES :CONSTANTS);
use IO::All;
my $message =
Email::MIME->create(
header_str => [
From => $sender,
To => $recipient,
Subject => $subject,
],
attributes => {
filename => $filename,
content_type => 'application/zip',
disposition => 'attachment',
name => $filename,
},
body => io($fileToSend)->binary->all,
#body => io($fileToSend)->all,
);
Qual è la differenza tra i file inviati e ricevuti? – Tim
Il file zip ricevuto è leggermente più piccolo di quello inviato (822 kb vs 893 kb). Ecco perché sospetto che io() sia il problema. – Dodd10x
perché questo metodo complesso, basta inviare file come allegato? – netawater