|
| Patrick's Programming Library Version 6.4.21 - Dokumentation |
Klasse zum Lesen und Dekodieren von Emails. Mehr ...
Öffentliche Methoden | |
| CReadMail () | |
| Konstruktor der Klasse. Mehr ... | |
| ~CReadMail () | |
| Destruktor der Klasse. Mehr ... | |
| void | Clear () |
| Inhalt der Klasse wird gelöscht. Mehr ... | |
| const char * | GetBody () |
| Gibt einen Pointer auf den kompletten undekodierten Body zurück. Mehr ... | |
| int | GetBody (CString &Buffer) |
| Unveränderten Body in einen Puffer kopieren. Mehr ... | |
| const char * | GetDecodedBody () |
| Pointer auf dekodierten Body zurückgeben. Mehr ... | |
| int | GetDecodedBody (CString &Buffer) |
| Dekodierten Body in einen Puffer schreiben. Mehr ... | |
| const char * | GetHeader (const char *key) |
| Gibt den Wert eines Keywortes im Header zurück. Mehr ... | |
| const char * | GetHeader () |
| Gibt einen Pointer auf den kompletten Header zurück. Mehr ... | |
| int | GetHeader (CString &Buffer) |
| Kompletten Header in einen Puffer kopieren. Mehr ... | |
| int | GetHeader (CString &Buffer, const char *key) |
| Kopiert den Wert eines Keywortes im Header in einen Puffer. Mehr ... | |
| CAssocArray * | GetHeaderArray (CAssocArray *Buffer=NULL) |
| Pointer auf Assoziatives Array mit Header-Zeilen. Mehr ... | |
| int | GetHeaderArray (CAssocArray &Buffer) |
| Header-Zeilen in ein Assoziatives Array kopieren. Mehr ... | |
| const char * | GetMail () |
| Pointer auf komplette Mail zurückgeben. Mehr ... | |
| int | GetMail (CString &Buffer) |
| Komplette Mail in einen Puffer kopieren. Mehr ... | |
| const char * | GetTranscodedBody (const char *charset="UTF-8") |
| Pointer auf dekodierten Body zurückgeben. Mehr ... | |
| int | GetTranscodedBody (CString &Buffer, const char *charset="UTF-8") |
| Dekodierten und Transkodierten Body in einen Puffer kopieren. Mehr ... | |
| int | LoadFile (const char *filename,...) |
| Mail aus Datei laden. Mehr ... | |
| int | LoadFile (CFileObject *file) |
| Mail aus Datei laden. Mehr ... | |
| int | LoadFile (CFileObject &file) |
| Mail aus Datei laden. Mehr ... | |
| int | LoadString (const char *string) |
| Mail aus String laden. Mehr ... | |
| int | LoadString (const CString &string) |
| Mail aus String laden. Mehr ... | |
Private Methoden | |
| int | Decode_Base64 () |
| Body im "Base64"-Format dekodieren. Mehr ... | |
| int | Decode_QuotedPrintable () |
| Body im "Quoted Printable"-Format dekodieren. Mehr ... | |
| int | DecodeBody () |
| Body der Mail Dekodieren. Mehr ... | |
| int | ParseHeader () |
| Header der Mail in ein Assoziatives Array parsen. Mehr ... | |
| int | RemoveCR () |
| Eventuell vorhandene Carriage-Returns (CR) entfernen oder durch Newline (NL) ersetzen. Mehr ... | |
| int | SplitHeaderAndBody () |
| Mail in Header und Body zerlegen. Mehr ... | |
Private Attribute | |
| CString | Body |
| String mit dem kompletten unveränderten Body. Mehr ... | |
| CString | Decoded |
| String mit dem kompletten dekodierten Body. Mehr ... | |
| CString | Header |
| String mit dem kompletten unveränderten Header. Mehr ... | |
| CAssocArray | HeaderLines |
| Assoziatives Array mit den einzelnen Keyworten des Headers. Mehr ... | |
| bool | Loaded |
| Flag was anzeigt, ob eine Mail erfolgreich geladen wurde. Mehr ... | |
| CString | |
| String mit der kompletten unverarbeiteten Mail. Mehr ... | |
| CString | Transcoded |
| String mit dem kompletten dekodierten und Transcodierten Body. Mehr ... | |
| ppl6::CReadMail::CReadMail | ( | ) |
| ppl6::CReadMail::~CReadMail | ( | ) |
| void ppl6::CReadMail::Clear | ( | ) |
Diese Funktion wird automatisch vom Destruktor und zu Beginn der Load-Funktion aufgerufen, um den Inhalt der Klasse zu leeren und den allokierten Speicher freizugeben,
|
private |
|
private |
|
private |
| const char * ppl6::CReadMail::GetBody | ( | ) |
Gibt einen Pointer auf den kompletten undekodierten Body zurück
| int ppl6::CReadMail::GetBody | ( | CString & | Buffer | ) |
Diese Funktion kopiert den unveränderten original Body in den angegebenen Buffer.
| [out] | Buffer | Pointer auf einen String, in den der Inhalt des Bodies kopiert werden soll. |
| const char * ppl6::CReadMail::GetDecodedBody | ( | ) |
Diese Funktion liefert einen Pointer auf den Dekodierten Body zurück. Das Charset ist dabei noch unverändert und entspricht der in der Mail angegebenen Kodierung.
| int ppl6::CReadMail::GetDecodedBody | ( | CString & | Buffer | ) |
Diese Funktion kopiert den dekodierten Body in den angegebenen Buffer. Das Charset ist dabei noch unverändert und entspricht der in der Mail angegebenen Kodierung.
| [out] | Buffer | Pointer auf einen String, in den der Inhalt des Bodies kopiert werden soll. |
| const char * ppl6::CReadMail::GetHeader | ( | const char * | key | ) |
Diese Funktion prüft, ob es im Header eine zum key passende Zeile gibt, und gibt dessen Wert zurück.
| [in] | key | Pointer auf den Namen der Header-Zeile (z.B. "Subject" oder "From"). |
| const char * ppl6::CReadMail::GetHeader | ( | ) |
Gibt einen Pointer auf den kompletten Header zurück
| int ppl6::CReadMail::GetHeader | ( | CString & | Buffer | ) |
Diese Funktion kopiert den kompletten Header der Mail in den angegebenen Buffer.
| [out] | Buffer | Pointer auf einen String, in den der Inhalt des Headers kopiert werden soll. |
| int ppl6::CReadMail::GetHeader | ( | CString & | Buffer, |
| const char * | key | ||
| ) |
Diese Funktion prüft, ob es im Header eine zum key passende Zeile gibt, und kopiert dessen Wert in den angegebenen Buffer.
| [out] | Buffer | Pointer auf einen String, in dem der Wert gespeichert werden soll. |
| [in] | key | Pointer auf den Namen der Header-Zeile (z.B. "Subject" oder "From"). |
| CAssocArray * ppl6::CReadMail::GetHeaderArray | ( | CAssocArray * | Buffer = NULL | ) |
Diese Funktion gibt einen Pointer auf ein Assoziatives Array zurück, dass die einzelnen Zeilen des Headers enthält.
| [out] | Buffer | Ein optionaler Pointer auf ein Assoziatives Array, in das die Headerzeilen kopiert werden sollen. |
Buffer-Parameter angegeben, wird bei Erfolg ein Pointer auf diesen zurückgegeben. Wurde Buffer nicht angegeben, wird ein Pointer auf ein internes Array zurückgegeben, dessen Speicher von der CReadMail-Klasse verwaltet wird und von der Anwendung nicht freigegeben werden darf. | int ppl6::CReadMail::GetHeaderArray | ( | CAssocArray & | Buffer | ) |
Buffer kopiert.| [out] | Buffer | Referenz auf ein Assoziatives Array, in das die Headerzeilen kopiert werden sollen. |
| const char * ppl6::CReadMail::GetMail | ( | ) |
Diese Funktion gibt einen Pointer auf den kompletten unveränderten Inhalt der Mail zurück.
| int ppl6::CReadMail::GetMail | ( | CString & | Buffer | ) |
Diese Funktion kopiert die komplette unveränderte Mail in den angegebenen Buffer.
| [out] | Buffer | Pointer auf einen String, in den der Inhalt der Mail kopiert werden soll. |
| const char * ppl6::CReadMail::GetTranscodedBody | ( | const char * | charset = "UTF-8" | ) |
Diese Funktion liefert einen Pointer auf Body zurück, der dekodiert und in das gewünschte Charset gewandelt wurde.
| [in] | charset | Name des gewünschten Charsets. Der Default ist "UTF-8". |
| int ppl6::CReadMail::GetTranscodedBody | ( | CString & | Buffer, |
| const char * | charset = "UTF-8" |
||
| ) |
Diese Funktion versucht den Body der Mail in das gewünschte charset zu transkodieren und kopiert diesen dann in den angegebenen Buffer.
| [out] | Buffer | String, in dem das Ergebnis gespeichert werden soll. |
| [in] | charset | Name des gewünschten Charsets. Der Default ist "UTF-8". |
| int ppl6::CReadMail::LoadFile | ( | const char * | filename, |
| ... | |||
| ) |
| int ppl6::CReadMail::LoadFile | ( | CFileObject * | file | ) |
| int ppl6::CReadMail::LoadFile | ( | CFileObject & | file | ) |
| int ppl6::CReadMail::LoadString | ( | const char * | string | ) |
| int ppl6::CReadMail::LoadString | ( | const CString & | string | ) |
|
private |
|
private |
|
private |
|
private |
String mit dem kompletten unveränderten Body. Der Inhalt kann über die GetBody-Funktionen ausgelesen werden:
|
private |
String mit dem kompletten dekodierten Body. Eine Mail im Quoted-Printable oder Base64-Format wurde hier bereits in lesbare Zeichen umgewandelt. Der Inhalt kann über die GetDecodedBody-Funktionen ausgelesen werden:
|
private |
String mit dem kompletten unveränderten Header. Der Inhalt kann über die GetHeader-Funktionen ausgelesen werden:
|
private |
Dieses Array beinhaltet die einzelnen Keywörter des Mail-Headers. Dabei ist sichergestellt, dass mehrzeilige Werte zu einer Zeile zusammengefasst sind. Bei Keywörtern, die mehrfach im Header auftauchen (Received-Zeile) werden die einzelnen Vorkommen mit Newline voneinander getrennt.
Das komplette Array kann mit der Funktion CReadMail::GetHeaderArray ausgelesen/kopiert werden, einzelne Elemente mit CReadMail::GetHeader(const char *key)
|
private |
|
private |
String mit der kompletten unverarbeiteten Mail. Der Inhalt kann über die GetMail-Funktionen ausgelesen werden:
|
private |
Dies ist ein Behelfs-String, der nur gefüllt wird, wenn die Funktion CReadMail::GetTranscodedBody(CString *Buffer, const char *charset) ohne Buffer aufgerufen wird. Der Body ist dabei bereits Dekodiert und in das angegebene Charset umgewandelt.