Est-il possible d'envoyer des pièces jointes par e-mail à partir de la ligne de commande?
Si possible, j'aimerais quelque chose d'aussi simple que:
mail -a myfile.txt -t [email protected] -s "Here's my file"
command-line
email
files
conorgriffin
la source
la source
mail
(akamailx
) est MIME ignorant et ne peut donc pas gérer les pièces jointes d'une manière différente de 1980. C'est une bonne question, je recherche le MUA canonique canonique; plus à venir.Réponses:
De tous les agents utilisateurs de messagerie dans le référentiel Ubuntu, il apparaît que mutt est le MUA de ligne de commande qui bénéficie du support à long terme.
Selon le manuel , vous pouvez faire quelque chose exactement comme:
sauf qu'il n'ira nulle part, car il faut également un agent de transfert de courrier. Les plus populaires sont:
et les seuls que Canonical semble supporter sont postfix (merci pour la correction Steve) et exim4 .
On pourrait également dire que xdg-email est également un MUA Ubuntu approprié, mais c'est un frontal simple qui n'exécute que votre MUA préféré en votre nom.
Si vous souhaitez des conseils sur le MTA qui pourrait convenir à votre utilisation, ouvrez peut-être une autre question ici.
la source
mutt
commande a fonctionné comme annoncé. Soit dit en passant, nullmailer a un faux frontal sendmail, de sorte que la plupart des programmes qui s'attendent à parler à sendmail sont transférés vers un véritable MTA sans aucun effort de ma part.J'ai également eu de la difficulté à envoyer des fichiers joints. Lorsque j'ai envoyé un e-mail sans pièce jointe, il a réussi, mais pas avec pièce jointe. Ce problème a été existant avec
sendemail
,mutt
,mail
,mailx
,uuencode
commandes.Heureusement, cela a été résolu de façon amusante. J'utilise Gmail pour envoyer des e-mails. Vous pouvez configurer votre gmail pour l'envoi d'e-mails via des commandes dans le terminal comme indiqué sur http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html .
Vous pouvez envoyer un e-mail texte en utilisant:
mais vous ne pouvez pas envoyer le même fichier en pièce jointe que ci-dessous:
ou:
Enfin, j'ai compris que seul ce format pouvait envoyer une pièce jointe:
Curieusement, la différence est l'existence de la commande "echo".
Mise à jour: 201808
Semble que l'
-a
option a été modifiée avec majuscule-A
pour la pièce jointe maintenant. Le-a
semble être pour changer l'en-tête selon le docla source
.zshrc
fichier à quelqu'un et bien que j'utilisemail
beaucoup pour envoyer des messages rapides, essayer d'envoyer une pièce jointe ne fonctionnait pas. J'avais juste besoin d'une confirmation qu'il était possible de réaliser que l' ordre des arguments était très important. Cela a fonctionné pour moi:mail -s "zshrc" -a ~/.zshrc [email protected]
... bien sûr, je devais encore taper le corps du message et appuyerctrl+d
sur la dernière ligne vierge.mail [email protected] -a ~/.zshrc
a "fonctionné" dans la mesure où elle a envoyé le message mais n'a pas envoyé le fichier. Si j'avais essayé,mail [email protected] -a ~/.zshrc -s 'zshrc'
il aurait été évident que les paramètres après l'adresse du destinataire étaient ignorés.J'ai trouvé que la commande et les paramètres ont été modifiés récemment.
Si vous souhaitez envoyer vos pièces jointes avec cette commande:
L'option
attachment
devrait être celle-A
qui est CAPITALA
.la source
Vous voudrez peut-être envoyer un fichier à partir du shell , mais sinon, utilisez Thunderbird .
Dans ce cas, essayez
thunderbird -remote ...
est utile - en supposant que Thunderbird est généralement en cours d'exécution:La commande ouvre une fenêtre de composition de courrier d'une instance de Thunderbird en cours d'exécution.
L'adresse "De" est votre adresse par défaut configurée dans Thunderbird.
En outre, les paramètres de compte existants sont utilisés, aucune configuration distincte n'est requise.
Pour un mail adressé à
[email protected]
, avec le sujet "S", le corps "B", et une pièce jointe/some/absolute/file.txt
, la commande estIl y a deux problèmes:
Le fichier joint doit être donné par un chemin absolu , ce qui est fastidieux en pratique. Cela peut être géré en utilisant
readlink -f
pour résoudre les chemins relatifs:De plus, la commande est trop longue. Utilisez un script shell ou une fonction shell, avec quatre arguments:
Avec cette fonction, la commande devient lisible:
ouvrira une fenêtre "Ecrire" de thunderbird avec la pièce jointe et le texte De, À, Sujet et corps rempli. Il peut être modifié avant de l'envoyer.
la source
heirloom-mailx
le paquet dans debian fournit lamailx
commande pour envoyer facilement les pièces jointes MIME. œuvres suivantes pour moi;la source
mail
etmailx
inclus avec RH-alikes a-a
pour les pièces jointes, mais pas celui inclus dans Debian-alikes.Je souhaite ajouter une autre réponse qui est utilisée pour ajouter le corps du texte avec la pièce jointe. À votre santé!!
la source