Línea de comando: enviar un archivo zip por correo electrónico

1

Estoy usando "correo" para enviar correos electrónicos desde la línea de comandos en mi OSX 10.6

el "< nombre de archivo", sin embargo, no funciona del todo bien, ya que realmente no veo el archivo como "archivo adjunto" en ningún cliente de correo electrónico estándar. ¿Hay alguna solución para esto con las herramientas estándar que vienen preinstaladas con OSX 10.6?

    
pregunta JasonGenX 02.06.2011 - 21:00

2 respuestas

2

La forma rápida y sucia de enviar un archivo adjunto es codificar el archivo y enviarlo por correo.

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

Si desea hacerlo fácilmente y construir un mensaje codificado MIME adecuado, puede instalar mutt y usar la marca -a para adjuntar su mensaje.

Si no quieres instalar nada más, puedes crear tu propio mensaje MIME a mano o usar el módulo perl MIME :: Entity para ayudarte:

#!/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;
    
respondido por el barryj 02.06.2011 - 22:43
0

La solución más fácil para su situación actual es utilizar uuencode para codificar el formato de archivo y enviarlo por correo. Prueba esta línea:

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

Otra posibilidad es usar scripts de perl / python para hacer ese trabajo (quizás mejor), pero la solución anterior simplemente funciona (tm)

    
respondido por el mspasov 02.06.2011 - 22:31

Lea otras preguntas en las etiquetas