J'essaie d'envoyer un e-mail depuis un serveur Linux, je souhaite envoyer une image, pas en pièce jointe, qui doit être affichée dans le corps du message.
J'ai essayé.
mailx -s "TEST mail" <MASKED>@mask.com < download.JPEG
La commande ci-dessus a donné des données indésirables aléatoires dans le corps du courrier
mailx --append "Content-type: text/html" -s "TEST mail" <MASKED>@mask.com < download.JPEG
La commande ci-dessus n'a pas fonctionné
mutt -a "download.JPEG" <MASKED>@mask.com -s "TEST mail" < /dev/null
La commande ci-dessus a envoyé l'image en pièce jointe.
UUENCODE
n'est pas installé sur notre serveur, nous ne devrions donc pas l'utiliser.
Je ne veux personne de ce qui précède. Je souhaite que ma photo s'affiche plutôt dans le corps de mon courrier.
Toute aide à ce sujet est très appréciée.
Réponse acceptée :
Pour que l'image soit affichée en ligne, elle doit être encodée en tant qu'objet MIME valide avec un Content-Disposition: inline
en-tête dedans.
Le mpack
commande peut le faire.
Essayez d'envoyer un e-mail comme celui-ci :
mpack -s "TEST mail" -c image/jpeg download.JPEG <MASKED>@example.com
Ou si vous souhaitez exporter le résultat dans un fichier au lieu de l'envoyer directement :
mpack -s "TEST mail" -c image/jpeg download.JPEG -o email-with-image.txt
Ensuite, vous pouvez l'envoyer plus tard avec par exemple :
mailx <MASKED>@example.com < email-with-image.txt
Si vous souhaitez ajouter du texte à votre message avant l'image, écrivez-le dans un fichier et ajoutez un -d text-before.txt
option au mpack
commande. Pour ajouter du texte après l'image, il suffit de l'ajouter au fichier produit par mpack devrait fonctionner.