Riga di comando: invio di un file zip via e-mail

1

Sto usando "mail" per inviare e-mail da linea di comando sul mio OSX 10.6

il "nome < nomefile" tuttavia non funziona abbastanza bene, in quanto in realtà non vedo il file come "allegato" su alcun client e-mail standard. C'è qualche soluzione per questo con gli strumenti standard che vengono pre-installati con OSX 10.6?

    
posta JasonGenX 02.06.2011 - 21:00
fonte

2 risposte

2

Il modo rapido e sporco per inviare un allegato è quello di uuencodificare il file e inviarlo per posta.

uuencode report.pdf report.pdf | mail -s "Here is the report" [email protected]

Se vuoi farlo facilmente e creare un messaggio MIME corretto, puoi installare mutt e usare il flag -a per allegare il tuo messaggio.

Se non vuoi installare altro, puoi creare manualmente il tuo messaggio MIME oppure utilizzare il modulo perl MIME :: Entity per aiutarti:

#!/usr/bin/perl
use MIME::Entity;

$message = MIME::Entity->build(
  Type    => "multipart/mixed",
  From    => "me\@company.com",
  To      => "bossman\@company.com",
  Subject => "Report attached" );

$message->attach(Data=>"Here is the report, as promised.");

$message->attach(
  Path     => "./report.pdf",
  Type     => "application/pdf",
  Encoding => "base64");

open MAIL, "| /usr/sbin/sendmail -t -oi";
$message->print(\*MAIL);
close MAIL;
    
risposta data 02.06.2011 - 22:43
fonte
0

La soluzione più semplice alla tua situazione attuale è utilizzare uuencode per codificare il formato del file e inviarlo per posta. Prova questa riga:

uuencode /your/file.zip file.zip | mail -s subject recipient@mail

Un'altra possibilità è quella di usare script perl / python per fare quel lavoro (forse meglio), ma la soluzione appena descritta funziona (tm)

    
risposta data 02.06.2011 - 22:31
fonte

Leggi altre domande sui tag