63 lines
2.1 KiB
C
63 lines
2.1 KiB
C
#include <auth-client.h>
|
|
|
|
#define SSL_ENABLED 0
|
|
#define SSL_DISABLED 1
|
|
#define SSL_REQUIRED 2
|
|
|
|
#define SSL_ACCEPT 1
|
|
#define SSL_DECLINE 0
|
|
|
|
#define AUTH_YES 1
|
|
#define AUTH_NO 0
|
|
|
|
#define EINGHTBIT_Y 1
|
|
#define EINGHTBIT_N 0
|
|
|
|
|
|
/* Die Callback-fkt. zum lesen einer Zeile. das Argument ist die momentane Zeilennummer (beginnend bei 0) */
|
|
typedef char *(mail_linereader_cb)(int line);
|
|
|
|
/* Datenstruktur für die Addressliste */
|
|
typedef struct address_t {
|
|
char *mailbox; /* mail-Addresse */
|
|
struct address_t *next; /* Zeiger auf das nächste Element */
|
|
} address_struct;
|
|
|
|
/* Zusammenfassung jeglicher Addressen */
|
|
typedef struct address_all_t {
|
|
address_struct *from; /* Absender */
|
|
address_struct *to; /* Empfänger */
|
|
address_struct *cc; /* cc */
|
|
address_struct *bcc; /* bcc */
|
|
} address_all_struct;
|
|
|
|
|
|
/* Datenstruktur für die Server-Optionen */
|
|
typedef struct server_vars_t {
|
|
char *host; /* host */
|
|
int port; /* port */
|
|
char ssl_use; /* soll ssl benutzt werden ? */
|
|
char ssl_weak_cipher; /* was bei schwacher Verschluesselung */
|
|
char ssl_ctx_client_no; /* was bei fehlendem client-zertifikat */
|
|
char ssl_ctx_peer_no; /* was bei fehlendem server-zertifikat */
|
|
char ssl_ctx_peer_wrong; /* was bei falschem server-zertifikat */
|
|
char ssl_ctx_peer_invalid; /* was bei ungueltigem server-zertifikat */
|
|
char auth_use; /* soll authentifiziert werden */
|
|
auth_interact_t auth_cb; /* Callbackfkt. zum authentifizieren. wenn NULL, dan werden die werte drunter benutzt */
|
|
char *auth_user; /* default-user */
|
|
char *auth_pass; /* default-password */
|
|
}server_vars;
|
|
|
|
/* Funktion zum versenden der Mails.
|
|
* 1. Argument: jegliche Mail-Addressen
|
|
* 2. Argument: Betreff der Nachicht
|
|
* 3. Argument: eightbit-flag setzen oder nicht
|
|
* 4. Argument: Callback-Fkt. zum lesen einer Zeile
|
|
* 5. Argument: Server-Einstellungen */
|
|
int mail_message(address_all_struct *, char *, int, mail_linereader_cb, server_vars *);
|
|
|
|
|
|
/* Gibt ein grundgerüst mit default-servereinstellungen
|
|
* zurueck, damit man nicht immer alles selbst angeben muss */
|
|
server_vars *get_default_servopts();
|