NetBurner 3.1
ssl_mailto.h
Go to the documentation of this file.
1 /*NB_REVISION*/
2 
3 /*NB_COPYRIGHT*/
4 
29 #ifndef _NB_SSL_MAILTO
30 #define _NB_SSL_MAILTO
31 
32 #include <predef.h>
33 #include <crypto/SharkSsl.h>
34 
58 int SSL_SendMail(IPADDR smtp_server,
59  PCSTR userid,
60  PCSTR pass,
61  PCSTR from_addr,
62  PCSTR to_addr,
63  PCSTR subject,
64  PCSTR textbody,
65  BOOL STARTTLS = FALSE,
66  int remotePort = -1,
67  const char *serverName = nullptr,
68  bool verifyPeer = false,
69  SharkSslCAList caList = nullptr);
70 
94 int SSL_SendMailHTML(IPADDR smtp_server,
95  PCSTR userid,
96  PCSTR pass,
97  PCSTR from_addr,
98  PCSTR to_addr,
99  PCSTR subject,
100  const char *filename,
101  BOOL STARTTLS = FALSE,
102  int remotePort = -1,
103  const char *serverName = nullptr,
104  bool verifyPeer = false,
105  SharkSslCAList caList = nullptr);
106 
137 int SSL_SendMailStartMIME(IPADDR smtp_server, /* IP address of the SMTP server */
138  PCSTR userid, /* AscII String to provide for RFC931 IDentification */
139  PCSTR pass, /* AscII String to provide for AUTH IDentification */
140  PCSTR from_addr, /* From E-Mail address */
141  PCSTR to_addr, /* To E-Mail Address */
142  PCSTR subject, /* E-Mail subject */
143  BOOL STARTTLS = FALSE,
144  int remotePort = -1,
145  const char *serverName = nullptr,
146  bool verifyPeer = false,
147  SharkSslCAList caList = nullptr);
148 
149 extern uint16_t SMTP_PORT; // default is 25
150 extern uint16_t RFC931_PORT; // default is 113
151 extern uint16_t LOCAL_MAIL_PORT; // default is 0 to enable selection of random port number
152 
153 /*-------------------------------------------------------------------
154  * The following functions, variables and definitions are used for
155  * error reporting of the mail system.
156  * -----------------------------------------------------------------*/
157 
158 // Returns 0 or error code
159 extern int NB_Mail_Error_Code;
160 
161 // Last error string reported by NetBurner mail library. This is usually
162 // displayed on the debug serial port.
163 extern char NB_Mail_Error_String[];
164 
165 // Last error string received from mail server
166 extern char Server_Mail_Log_String[];
167 
168 /*
169  * SMTP Error Codes
170  * Previously defined in mailto.h
171  */
172 #define STATUS_OK (0)
173 #define CONNECT_TO_SMTP_SERVER_FAILED (-1)
174 #define INITIAL_SERVER_REPLY_FAILED (-2)
175 #define HELO_SERVER_REPLY_FAILED (-3)
176 #define MAIL_FROM_SERVER_REPLY_FAILED (-4)
177 #define RCPT_TO_SERVER_REPLY_FAILED (-5)
178 #define DATA_SERVER_REPLY_FAILED (-6)
179 #define DATA_END_SERVER_REPLY_FAILED (-7)
180 #define AUTH_LOGIN_SERVER_REPLY_FAILED (-8)
181 #define USER_ID_SERVER_REPLY_FAILED (-9)
182 #define PASSWORD_SERVER_REPLY_FAILED (-10)
183 #define CONNECT931_SMTP_SERVER_FAILED (-11)
184 #define STARTTLS_SERVER_REPLY_FAILED (-12)
185 
186 #endif
187 
Used to hold and manipulate IPv4 and IPv6 addresses in dual stack mode.
Definition: ipv6_addr.h:28
int SSL_SendMailHTML(IPADDR smtp_server, PCSTR userid, PCSTR pass, PCSTR from_addr, PCSTR to_addr, PCSTR subject, const char *filename, BOOL STARTTLS=FALSE, int remotePort=-1, const char *serverName=nullptr, bool verifyPeer=false, SharkSslCAList caList=nullptr)
Send an HTML email message from a file using SSL encryption.
int SSL_SendMail(IPADDR smtp_server, PCSTR userid, PCSTR pass, PCSTR from_addr, PCSTR to_addr, PCSTR subject, PCSTR textbody, BOOL STARTTLS=FALSE, int remotePort=-1, const char *serverName=nullptr, bool verifyPeer=false, SharkSslCAList caList=nullptr)
Send an email message using SSL encryption.
int SSL_SendMailStartMIME(IPADDR smtp_server, PCSTR userid, PCSTR pass, PCSTR from_addr, PCSTR to_addr, PCSTR subject, BOOL STARTTLS=FALSE, int remotePort=-1, const char *serverName=nullptr, bool verifyPeer=false, SharkSslCAList caList=nullptr)
Start a Multi-purpose Internet Mail Extension (MIME)session using SSL encryption. ...