Come creiamo un tale messaggio multiparte in Linux quando vengono forniti l'oggetto dell'email e le versioni HTML e di testo del corpo dell'email?
Crea un messaggio di tipo multipart/alternative come documentato in RFC 2046:
From: Example Company <example@unixlinux.online> To: Joe User <example@unixlinux.online> Date: Sat, 21 May 2011 17:40:11 +0300 Subject: Multipart message example MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=asdfghjkl --asdfghjkl Content-Type: text/plain; charset=utf-8 Hello everyone! --asdfghjkl Content-Type: text/html; charset=utf-8 <!DOCTYPE html> <body> <p>Hello everyone!</p> </body> --asdfghjkl--
Vedi RFC 2046 e RFC 5322 per la sintassi esatta.
Possiamo usare mutt per inviare l'e-mail in più parti creata nel passaggio 1, dal prompt di linux?
Se trovi un modo per impostare la giusta intestazione Content-Type. (Nel tuo esempio, stai usando -e , ma mutt usa -e per scopi diversi. Anche -e "my_hdr Content-Type: ..." lascia intatto il testo/l'intestazione semplice originale.)
È meglio inviare la posta generata direttamente tramite sendmail . Dovrai creare tu stesso le intestazioni – vedi l'esempio; usa strftime("%a, %d %b %Y %T %z") per Data e una stringa di caratteri alfanumerici casuali per il limite. Quindi reindirizza il messaggio preparato, comprese le intestazioni, a sendmail -i -t :
sendmail -i -t < above-example.txt
(Il -t opzione significa "prendi i destinatari da A: line"; in alternativa puoi usare sendmail -i example@unixlinux.online )