Je me demandais s'il est possible d'inclure un attachement avec Sendmail. Je génère les fichiers de messagerie électronique suivants.eml avec la mise en page suivante
From: Company Name <[email protected]>
To: [email protected]
CC: [email protected]
Subject: Generated Output
Mime-Version: 1.0
This will be the body copy even though it's terrible
J'envoie ces courriels en utilisant
# /usr/sbin/sendmail -t < emailfile.eml
Cette partie est le dossier de travail mais j'aimerais inclure une pièce jointe à cet email et je n'ai pas compris comment le faire
Publier la solution qui a fonctionné pour moi au cas où cela peut aider quelqu'un d'autre, désolé, il est si tard.
La manière la plus fiable que j'ai trouvée pour avoir fait cela était d'inclure la pièce jointe en tant que base64 dans le fichier EML lui-même, ci-dessous est un exemple du contenu de l'EML.
Remarque 01: La base64 du fichier provient de l'exécution de la commande base64 sous Linux à l'aide de la pièce jointe sous forme d'argument (doit fonctionner avec n'importe quel outil de base64)
NOTE 02: La chaîne utilisée pour la limite est juste absurde à l'aide de la date et des lettres majuscules aléatoires
Nom de fichier: emlfile.eml
From: Sender <[email protected]>
To: [email protected]
CC: [email protected]
Disposition-Notification-To: [email protected]
Subject: Generic Subject
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="19032019ABCDE"
--19032019ABCDE
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Generic Body Copy
--19032019ABCDE
Content-Type: application;
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MyPdfAttachment.pdf"
*base64 string goes here (no asterix)*
--19032019ABCDE--
Ensuite, le fichier FileName.eml peut être envoyé à l'aide de la commande et inclura la pièce jointe.
# /usr/sbin/sendmail -t < filename.eml
Avec mutt
vous pouvez simplement utiliser:
echo "This is the message body" | mutt -a "/path/to/file_to_attach" -s "subject of message" -- [email protected]
Utilisation de mail
commande:
mail -a /opt/emailfile.eml -s "Email File" [email protected] < /dev/null
-a
est utilisé pour les pièces jointes.
Vous pouvez utiliser SendEmail
:
sendemail -t [email protected] -m "Here is the file." -a attachmentFile