Domanda

Qualcuno sa di un buon esempio di generare e-mail HTML con immagini incorporate e una parte di testo alternativo? Ho bisogno di generare alcuni rapporti tabulari in formato HTML e vorrei inserire loghi e altre immagini.

Credo Indy può fare questo con un po 'di lavoro, ma speravo che qualcuno mi potrebbe puntare a un buon esempio come punto di partenza. Sono aperto ad usare le librerie diverse da Indy e soluzioni commerciali a condizione sorgente è disponibile. Qualità e tempo per implementare è più importante dei costi. La soluzione deve anche sostenere la consegna basata su SMTP ad uno scambiatore di posta elettronica.

L'altro elemento sulla mia lista dei desideri è quello di essere in grado di sfruttare FastReports, TRichView o un attrezzo simile per generare il contenuto del messaggio HTML. Ci sono filtri di uscita HTML disponibili per entrambi, ma non ho avuto l'opportunità di fare qualsiasi test. Qualsiasi feedback su questo argomento sarebbe apprezzato.

Grazie in anticipo!

David

È stato utile?

Soluzione

Leggi i seguenti articoli sul sito web di Indy, spiegano il modo corretto per compilare un TIdMesaage per HTML:

HTML Messaggi

classe Nuovo messaggio HTML Builder

Altri suggerimenti

In questi giorni ho utilizzano client di posta elettronica di Clever componente, anche se non è gratuito.

Il TurboPower Internet (OpenSource) controlli ha lavorato molto per me in passato.

function data64(const filename:string): ansistring;
// uses Classes, IdGlobalProtocols, EncdDecd;
const
  crlf = #13#10;
begin
  result := '';
  with TIdMimeTable.Create do
  try
    result := 'data:'
      + GetFileMIMEType(filename) + ';';
  finally
    Free;
  end;
  with TMemoryStream.Create do
  try
    LoadFromFile(filename);
    result := result + 'base64,' + crlf
      + EncodeBase64(Memory,Size);
  finally
    Free;
  end;
end;

Abbiamo provato questo anni fa con Indy ed embedded CID: immagini come questa: https://forums.codegear.com/thread.jspa?threadID=17473

Non abbiamo mai avuto stabile, ogni volta che c'era un altro lettore di posta che barfed (se abbiamo ottenuto lavorando in Outlook, Thunderbird, allora non ha accettato che o Outlook Express, o, ecc, ecc).

Alla fine abbiamo fatto con .NET utilizzando AspNetEmail e ha funzionato come un fascino.

- Jeroen

Tutto dipende da quanti diversi client di posta remota si deve essere in grado di sostenere. Credo che le ben note librerie Delphi che supportano SMTP / MIME farà un lavoro ragionevole, ma possono lasciare con problemi di supporto quando uno dei tuoi utenti di posta scopre che il destinatario non può vedere una mail di formattata correttamente.

mi consiglia di visitare di Jacob Palme sito che vi darà un'idea di alcuni dei problemi che si possono incontrare. E 'un po' out-of-date, forse, ma in sintesi, comunque a costruire e inviare il vostro complesso MIME e-mail, si incontrano uno o più client di posta elettronica che non in grado di gestire la sintassi corretta. Il sito ha anche link ad alcuni utili esempi di costruzioni che si possono esaminare e di test.

Non intendo dire che si deve rotolare il proprio logica come abbiamo fatto noi: una buona soluzione pacchettizzata sarà probabilmente successo nella grande maggioranza dei casi. Abbiamo scritto il nostro codice Delphi per gestire questa situazione alcuni anni fa, quindi lasceremo per gli altri a darvi informazioni up-to-date su ciò che è sullo scaffale ora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top