Il problema è che HTML non è compatibile con l'e-mail. Questo è il motivo per cui ho creato Mail Markup Language.
L'HTML è stato creato per funzionare con il protocollo HTTP poiché queste due tecnologie sono state inventate dalla stessa persona all'incirca nello stesso momento. La differenza è che HTTP è una singola sessione di trasferimento unidirezionale da un server a un client. Ciò non cambia mai quando il documento HTML viene sempre generato su un server, viene inviato a un client richiedente e, una volta completato il trasferimento, la connessione tra client e server viene interrotta.
L'e-mail non si comporta in questo modo. Nell'e-mail una comunicazione proviene da un cliente, viene inviata a una o più funzioni e-mail e termina in un client remoto. La più grande differenza, tuttavia, è che il documento non muore con finalità di una singola istanza di trasmissione, come nel caso di un trasferimento di documenti su HTTP. Un documento inviato in SMTP può essere risposto, inoltrato o copiato su più utenti non richiesti. Questa differenza è profonda quando viene presa in considerazione la considerazione per un thread di posta elettronica.
Il problema è che SMTP e HTTP sono diversi come dimostrato nei due paragrafi precedenti. Queste differenze sono aggravate dal fatto che SMTP e HTTP hanno metodi di formattazione radicalmente diversi per la creazione di dati di intestazione. L'HTML ha dati di intestazione che devono essere compatibili con le intestazioni delle trasmissioni HTTP e non offrono alcuna conformità alle trasmissioni SMTP. Anche le intestazioni HTML non tengono conto della complessità di un thread di posta elettronica.
Il problema è esemplificato quando il software di posta elettronica corrompe un documento HTML per aggiungere modifiche di formattazione necessarie per soddisfare le esigenze conformi di quel software e anche per scrivere i dati di intestazione direttamente nel documento. Questa esemplificazione diventa estremamente pronunciata quando un email HTML diventa un thread di posta elettronica. Poiché i dati dell'intestazione HTML non hanno alcun metodo per tenere conto delle complessità di un thread di posta elettronica, non è possibile fornire definizioni di presentazione pertinenti da un foglio di stile che sopravvive al trasferimento del documento. Ogni volta che un documento HTML o un documento con formattazione HTML viene inviato da un software di posta elettronica a un altro, il documento è corrotto e ogni dispositivo software di posta elettronica corrompe il danneggiamento precedente. Il software di elaborazione della posta elettronica può fare riferimento a un client di posta elettronica, che sicuramente corromperà un documento o un server di posta elettronica, che probabilmente corromperà probabilmente un documento di posta elettronica.
La soluzione al problema è creare una convenzione del linguaggio di markup che riconosca direttamente i requisiti dei dati dell'intestazione dell'email. Tali requisiti sono definiti in RFC 5321 per il protocollo SMTP e RFC 5322 per l'elaborazione client. L'unico modo per estendere correttamente questa soluzione per tenere conto delle complessità di un thread di posta elettronica consiste nel fornire una convenzione per un DOM multi-agente.
I paragrafi eliminati a causa di inesattezza tecnica e differenza tra il termine DOM multi-agente e la natura di una funzionalità inventata non menzionata qui anche prima della modifica.
MODIFICA: un DOM multi-agente applica un certo grado di gerarchia, che potrebbe non essere necessario per rappresentare un thread di posta elettronica.
fonte
2010-03-20 23:49:50
"(vale a dire la stessa identica HTML messaggio di origine può o non può causare il mescolamento in transizione)" ma quando essi causano il rimescolando in transizione in cui provider di posta di solito si ottiene questo problema? hotmail? Gmail o qualsiasi altro? o non importa quale sia la posta del destinatario? –
Ho riscontrato problemi con tutti i provider di posta elettronica. Non sembra essere specifico per il provider dell'utente di destinazione. –
qual è la codifica? prova base64, anche se non è allegato. quello dovrebbe mantenere le cose bene. – dusoft