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 <[email protected]> To: Joe User <[email protected]> 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 [email protected]
)