Back to index

citadel  8.12
smtp_util.h
Go to the documentation of this file.
00001 /*
00002  * This module is an SMTP and ESMTP implementation for the Citadel system.
00003  * It is compliant with all of the following:
00004  *
00005  * RFC  821 - Simple Mail Transfer Protocol
00006  * RFC  876 - Survey of SMTP Implementations
00007  * RFC 1047 - Duplicate messages and SMTP
00008  * RFC 1652 - 8 bit MIME
00009  * RFC 1869 - Extended Simple Mail Transfer Protocol
00010  * RFC 1870 - SMTP Service Extension for Message Size Declaration
00011  * RFC 2033 - Local Mail Transfer Protocol
00012  * RFC 2197 - SMTP Service Extension for Command Pipelining
00013  * RFC 2476 - Message Submission
00014  * RFC 2487 - SMTP Service Extension for Secure SMTP over TLS
00015  * RFC 2554 - SMTP Service Extension for Authentication
00016  * RFC 2821 - Simple Mail Transfer Protocol
00017  * RFC 2822 - Internet Message Format
00018  * RFC 2920 - SMTP Service Extension for Command Pipelining
00019  *  
00020  * The VRFY and EXPN commands have been removed from this implementation
00021  * because nobody uses these commands anymore, except for spammers.
00022  *
00023  * Copyright (c) 1998-2012 by the citadel.org team
00024  *
00025  *  This program is open source software; you can redistribute it and/or modify
00026  *  it under the terms of the GNU General Public License version 3.
00027  *  
00028  *  
00029  *
00030  *  This program is distributed in the hope that it will be useful,
00031  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00032  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00033  *  GNU General Public License for more details.
00034  *
00035  *  
00036  *  
00037  *  
00038  */
00039 
00040 const char *smtp_get_Recipients(void);
00041 
00042 typedef struct _citsmtp {          /* Information about the current session */
00043        int command_state;
00044        char helo_node[SIZ];
00045        char from[SIZ];
00046        char recipients[SIZ];
00047        int number_of_recipients;
00048        int delivery_mode;
00049        int message_originated_locally;
00050        int is_lmtp;
00051        int is_unfiltered;
00052        int is_msa;
00053 }citsmtp;
00054 
00055 #define SMTP         ((citsmtp *)CC->session_specific_data)
00056 
00057 void smtp_do_bounce(char *instr, StrBuf *OMsgTxt);