Klasse zum Verschicken von Emails.
Mehr ...
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Klasse können einfache Emails ohne Attachement per SMTP an einen beliebigen Mailserver zugestellt werden.
- Beispiel:
- Beispiel zur Verwendung der Klasse:
int main(int argc, char **argv)
{
Mail.
SetHeader(
"To",
"irgendwer@example.com");
Mail.
SetHeader(
"Subject",
"Testmail %s",(
char*)d);
return 0;
}
printf ("ok\n");
return 0;
}
- Seit
- Diese Klasse wurde mit Version 6.0.18 eingeführt
ppl6::CSendMail::CSendMail |
( |
| ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
Der Konstruktor initialisiert gegenwärtig nur zwei private Variablen:
- SMTPServer wird mit dem String "localhost:smtp" initialisiert. Der Wert kann mit derFunktion SetServer überschrieben werden.
- MyHostname wird mit dem Wert der Environment-Variablen "HOSTNAME" initialisiert. Dieser Wert kann mit der Funktion SetLocalHostName überschrieben werden.
ppl6::CSendMail::~CSendMail |
( |
| ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Gegenwärtig gibt es keine Daten, die deinitialisiert werden müßten, daher führt der Destruktor keine Aktionen aus.
void ppl6::CSendMail::Clear |
( |
| ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Diese Funktion löscht Header und Body der letzten Mail
int ppl6::CSendMail::CopyHeader |
( |
CAssocArray & |
header | ) |
|
Diese Funktion kopiert alle Werte aus dem angegebenen Array in den Header der Mail.
- Parameter
-
header | Ein Assoziatives Array mit den Header-Werten |
- Rückgabe
- Die Funktion liefert im Erfolgsfall true (1) zurück, bei einem Fehler false (0).
int ppl6::CSendMail::DeleteHeader |
( |
const char * |
name | ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion kann eine Variable innerhalb des Headers gelöscht werden.
- Parameter
-
name | Der Name der Header-Variablen |
- Rückgabe
- Die Funktion liefert true (1) zurück, wenn die Variable gesetzt werden konnte, im Fehlerfall wird ein enstrechender Fehlercode gesetzt und die Funktion gibt false (0) zurück.
const char * ppl6::CSendMail::GetMail |
( |
| ) |
|
Diese Funktion gibt einen Pointer auf die komplette Mail, also Header und Body, zurück.
- Rückgabe
- Pointer auf Mailinhalt
- Include:
- #include <ppl6.h>
- Beschreibung:
- Dies ist eine interne Funktion, die von außen nicht benutzt werden kann. Sie wird verwendet, um die Antwort des SMTP-Servers in die Bestandteile "ReturnCode" und "Text" zu zerlegen.
- Parameter
-
Answer | Enthält die Antwort des Servers |
Text | in dieser Variablen wird der Text-Bestandteil der Antwort abgelegt |
- Rückgabe
- Die Funktion liefert den Return-Code des SMTP-Servers zurück
int ppl6::CSendMail::Send |
( |
| ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion wird die Email an den SMTP-Server zugestellt.
- Rückgabe
- Konnte die Mail erfolgreich versendet werden, liefert die Funktion true (1) zurück, im Fehlerfall wird ein entsprechender Fehlercode gesetzt und die Funktion liefert false (0) zurück.
int ppl6::CSendMail::SetHeader |
( |
const char * |
name, |
|
|
const char * |
content, |
|
|
|
... |
|
) |
| |
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion können alle Variablen innerhalb des Headers gesetzt werden.
- Parameter
-
name | Name der Header-Variablen Beispiel:
- Subject Das Subject der Mail
- To Der Empfänger der Mail. Um mehrere Empfänger zu definieren, muss SetHeader mehrfach aufgerufen werden.
- Cc Empfänger für Kopien
- Bcc Empfänger für blinde Kopien
- Date
- From
|
content | Ein Formatstring mit dem Wert der Variablen |
... | Optionale Parameter |
- Rückgabe
- Die Funktion liefert true (1) zurück, wenn die Variable gesetzt werden konnte, im Fehlerfall wird ein enstrechender Fehlercode gesetzt und die Funktion gibt false (0) zurück.
int ppl6::CSendMail::SetLocalHostname |
( |
const char * |
name | ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion wird der lokale Rechnername festgelegt, der während der Kommunikation mit dem Mailserver im "HELO"-Kommando übergeben wird. Wird diese Funktion nicht aufgerufen, wird defaultmäßig der Hostname des lokalen Servers benutzt.
- Parameter
-
name | Der Name des Rechners |
- Rückgabe
- Die Funktion führt keine Prüfung des übergebenen Hostnamens zurück. Sie liefert daher immer true (1) zurück, sofern ein Name angegeben wurde. Zeigt
name
auf NULL oder einen leeren String, liefert die Funktion false (0) zurück und setzt einen Fehlercode. und liefert daher immer true (1) zurück.
int ppl6::CSendMail::SetMessage |
( |
const char * |
message | ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion wird die zu sendende Nachricht übergeben. Die Funktion existiert mehrfach und unterscheidet sich nur durch den Datentyp des übergebenen Parameters.
- Parameter
-
message | Der Inhalt der Email, der mit folgenden Datentypen übergeben werden kann:
|
- Rückgabe
- Die Funktion führt keine Prüfung des übergebenen Wertes zurück und liefert daher immer true (1) zurück.
int ppl6::CSendMail::SetMessage |
( |
CString & |
message | ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion wird die zu sendende Nachricht übergeben. Die Funktion existiert mehrfach und unterscheidet sich nur durch den Datentyp des übergebenen Parameters.
- Parameter
-
message | Der Inhalt der Email, der mit folgenden Datentypen übergeben werden kann:
|
- Rückgabe
- Die Funktion führt keine Prüfung des übergebenen Wertes zurück und liefert daher immer true (1) zurück.
int ppl6::CSendMail::SetSender |
( |
const char * |
name | ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion wird der Absender der Email definiert. Diese wird während der Kommunikation mit dem Mailserver im "MAIL"-Kommando übergeben und darf nur eine Emailadresse enthalten. Wird diese Funktion nicht aufgerufen, wird defaultmäßig der Wert aus der "From"-Variablen im Header verwendet.
- Parameter
-
name | Die Emailadresse des Absenders |
- Rückgabe
- Die Funktion führt keine Prüfung des übergebenen Wertes zurück und liefert daher immer true (1) zurück.
- Zu beachten
- Falls der String einen Namen und Emailadresse in spitzen Klammern enthält (z.B. "Mein Name <ich@domain.de>"), wird nur der Inhalt der spitzen Klammern verwendet (ab 6.0.23).
int ppl6::CSendMail::SetServer |
( |
const char * |
hostport | ) |
|
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser Funktion wird der SMTP-Server festgelegt, an den die Mail übergeben werden soll. Wird diese Funktion nicht aufgerufen, wird defaultmäßig versucht auf den lokalen SMTP-Port zu connecten (localhost:25).
- Parameter
-
hostport | Hostname:Port des SMTP-Servers. Statt Hostname kann auch die IP angegeben werden und statt einer Portnummer der Servicename. Beispiel: mail.pfp.de:smtp |
- Rückgabe
- Die Funktion führt keine Prüfung des übergebenen Hostnamens zurück und liefert daher immer true (1) zurück.
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser internen Funktion wird eine Nachricht an den SMTP-Server geschickt und dessen Antwort gelesen
- Parameter
-
[in] | socket | Pointer auf die Socket-Klasse, die die Verbindung zum SMTP-Server enthält |
[in] | Reply | Ein String, in dem die Antwort des Servers gespeichert wird |
[in] | Msg | Die Nachricht, die an den SMTP-Server geschickt werden soll |
- Rückgabe
- Die Funktion liefert im Fehlerfall 0 zurück, sonst den Return-Code des SMTP-Servers (siehe ParseAnswer).
int ppl6::CSendMail::Talk |
( |
CTCPSocket & |
socket, |
|
|
CString & |
Reply, |
|
|
const char * |
msg, |
|
|
|
... |
|
) |
| |
|
private |
- Include:
- #include <ppl6.h>
- Beschreibung:
- Mit dieser internen Funktion wird eine Nachricht an den SMTP-Server geschickt und dessen Antwort gelesen
- Parameter
-
[in] | socket | Pointer auf die Socket-Klasse, die die Verbindung zum SMTP-Server enthält |
[in] | Reply | Ein String, in dem die Antwort des Servers gespeichert wird |
[in] | msg | Ein Formatstring, der die Nachricht an den SMTP-Server enthält |
[in] | ... | Beliebig viele optionale Parameter, die im Formatstring verwendet werden |
- Rückgabe
- Die Funktion liefert im Fehlerfall 0 zurück, sonst den Return-Code des SMTP-Servers (siehe ParseAnswer).
CString ppl6::CSendMail::CompleteMail |
|
private |
Diese Variable enthält den Body der Mail. Sie kann entweder direkt beschrieben werden oder mittels folgender Funktionen:
CString ppl6::CSendMail::MyHostname |
|
private |
CString ppl6::CSendMail::SMTPServer |
|
private |
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
- /jenkins/jobs/clang_ppl6/workspace/include/ppl6.h
- /jenkins/jobs/clang_ppl6/workspace/src/internet/CSendMail.cpp