Inoltra un'email dalla row di command in Linux

Ho i file di posta elettronica nel mio Maildir ricevuto con il server postfix (Ubuntu). C'è un'utilità che può inoltrare un file di posta elettronica selezionato all'indirizzo email specificato? Qualcosa di simile a:

cat emailfile | utility to@address.com 

Ho provato ad usare il command di posta, ma ho appena inviato l'integer contenuto del file, comprese tutte le informazioni tecniche dell'intestazione come un semplice text, che non sembra bello.

  • Dovecot - Imansible ricevere posta - Fatal: il set di plugin 'non trovato
  • ldap_add: violazione delle restrizioni (19)
  • Aggiungere un intestazione personalizzata a Postfix con il dominio inoltrato
  • Ubuntu Ubad 10.04 LTS
  • È consigliabile eseguire gli aggiornamenti di Ubuntu Server su un server live?
  • Postfix come forwarder di posta elettronica a gmail, problemi SPF
  •  cat emailfile | mail -s subject to@address.com 

    Aggiornare

    Siamo spiacenti di non essere specifici. Quello che volevo è quello di inoltrare un file di posta elettronica da uno script di shell senza allegati, ma rimuovendo tutte le intestazioni ei metadati e presentandolo in maniera rispettosa dell'uomo. Come in gmail, quando si sceglie 'in avanti' esso analizza automaticamente l'e-mail in modo appropriato, aggiunge il text "inoltrato messaggio" in alto e quindi mette il messaggio di text del corpo. So che posso analizzare il file di posta elettronica e build una nuova email, ma ho pensato che ci fosse un'utilità che potrebbe risparmiare qualche ora.

  • 451 Tema locale temporaneo con l'invio di email
  • Come esportre tutti gli indirizzi di posta elettronica da Exchange 2003?
  • Postfix invia come hostname.domain.com invece di domain.com
  • Postfix invia il nome host FQDN al posto del nome dominio
  • Perché le mie mail inviate da Postfix sono riconosciute come spam?
  • Individuazione della versione di Lotus Domino Server da Lotus Notes Client
  • 2 Solutions collect form web for “Inoltra un'email dalla row di command in Linux”

    Ci sono più possibilità di una.

    1. Questa utilità è chiamata sendmail. cat emailfile | sendmail -f to@address.com cat emailfile | sendmail -f to@address.com . Forse è necessario riscrivere la posta prima, in quanto questo non "inoltra" la posta, ma invece "invia" la posta.
    2. Fai questo in Postfix. È ansible utilizzare le molteplici possibilità già presenti in Postfix per submit una mail all'utente locale e in aggiunta agli altri (localmente e / o remoti). Indizio: *_alias_maps

    mail to@address.com < mailfile rende il corpo dell'email il contenuto del file. Se questo non funziona per te, allora forse dovrai scrivere il tuo.

    Questo è tratto dalla documentazione della libreria Python 2.7 :

     # Import smtplib for the actual sending function import smtplib # Here are the email package modules we'll need from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart COMMASPACE = ', ' # Create the container (outer) email message. msg = MIMEMultipart() msg['Subject'] = 'Our family reunion' # me == the sender's email address # family = the list of all recipients' email addresses msg['From'] = me msg['To'] = COMMASPACE.join(family) msg.preamble = 'Our family reunion' # Assume we know that the image files are all in PNG format for file in pngfiles: # Open the files in binary mode. Let the MIMEImage class automatically # guess the specific image type. fp = open(file, 'rb') img = MIMEImage(fp.read()) fp.close() msg.attach(img) # Send the email via our own SMTP server. s = smtplib.SMTP('localhost') s.sendmail(me, family, msg.as_string()) s.quit() 

    L'unica modifica reale è che si utilizza la class email.mime.image.MIMEApplication anziché MIMEImage … e naturalmente cambiare i campi da, da, e sobject a qualcosa di appropriato.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.