buenas,
no estoy muy seguro porque no lo he hecho, pero supongo que al crear el código fuente y pegarlo en el correo, automaticamente el servidor smtp determina el charset para ese documento. ademas, un documento html completo -con su <head> y demas elementos- no creo que sea valido para ser enviado por correo. es decir, un documento html no puede tener dos <head>: el del webmail y del contenido a distribuir.
por otro lado, la razon por la que en ocaciones un contenido se ve adecuadamente en el navegador pese a no indicar el charset, se puede deber a dos factores. primero, el charset puede estar indicado en el header http del documento. y si aún asi éste carece, entonces se debe a que el navegador esta configurado para decodificar el contenido en un charset específico cuando el documento no indica su charset. en otras palabras, que el documento esta codificado para el mismo charset configurado en el navegador.