RFC7233 HTTP Ranges support for server
[platform/upstream/libwebsockets.git] / doc / html / group__smtp.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.12"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>libwebsockets: Smtp</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="navtree.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="resize.js"></script>
14 <script type="text/javascript" src="navtreedata.js"></script>
15 <script type="text/javascript" src="navtree.js"></script>
16 <script type="text/javascript">
17   $(document).ready(initResizable);
18 </script>
19 <link href="doxygen.css" rel="stylesheet" type="text/css" />
20 </head>
21 <body>
22 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
23 <div id="titlearea">
24 <table cellspacing="0" cellpadding="0">
25  <tbody>
26  <tr style="height: 56px;">
27   <td id="projectlogo"><img alt="Logo" src="libwebsockets.org-logo.png"/></td>
28   <td id="projectalign" style="padding-left: 0.5em;">
29    <div id="projectname">libwebsockets
30    </div>
31    <div id="projectbrief">Lightweight C library for HTML5 websockets</div>
32   </td>
33  </tr>
34  </tbody>
35 </table>
36 </div>
37 <!-- end header part -->
38 <!-- Generated by Doxygen 1.8.12 -->
39 <script type="text/javascript" src="menudata.js"></script>
40 <script type="text/javascript" src="menu.js"></script>
41 <script type="text/javascript">
42 $(function() {
43   initMenu('',false,false,'search.php','Search');
44 });
45 </script>
46 <div id="main-nav"></div>
47 </div><!-- top -->
48 <div id="side-nav" class="ui-resizable side-nav-resizable">
49   <div id="nav-tree">
50     <div id="nav-tree-contents">
51       <div id="nav-sync" class="sync"></div>
52     </div>
53   </div>
54   <div id="splitbar" style="-moz-user-select:none;" 
55        class="ui-resizable-handle">
56   </div>
57 </div>
58 <script type="text/javascript">
59 $(document).ready(function(){initNavTree('group__smtp.html','');});
60 </script>
61 <div id="doc-content">
62 <div class="header">
63   <div class="summary">
64 <a href="#nested-classes">Data Structures</a> &#124;
65 <a href="#enum-members">Enumerations</a> &#124;
66 <a href="#func-members">Functions</a>  </div>
67   <div class="headertitle">
68 <div class="title">Smtp</div>  </div>
69 </div><!--header-->
70 <div class="contents">
71 <table class="memberdecls">
72 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
73 Data Structures</h2></td></tr>
74 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlws__email.html">lws_email</a></td></tr>
75 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
76 </table><table class="memberdecls">
77 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
78 Enumerations</h2></td></tr>
79 <tr class="memitem:ga116be79bf44f9dc2a97f46e051fe4dc0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0">lwsgs_smtp_states</a> { <br />
80 &#160;&#160;<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, 
81 <a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, 
82 <a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, 
83 <a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, 
84 <br />
85 &#160;&#160;<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, 
86 <a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, 
87 <a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, 
88 <a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, 
89 <br />
90 &#160;&#160;<a class="el" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>
91 <br />
92  }</td></tr>
93 <tr class="separator:ga116be79bf44f9dc2a97f46e051fe4dc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
94 </table><table class="memberdecls">
95 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
96 Functions</h2></td></tr>
97 <tr class="memitem:ga77fc9b56a1bb39484844981ec375fc29"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29">lws_email_init</a> (struct <a class="el" href="structlws__email.html">lws_email</a> *email, uv_loop_t *loop, int max_content)</td></tr>
98 <tr class="separator:ga77fc9b56a1bb39484844981ec375fc29"><td class="memSeparator" colspan="2">&#160;</td></tr>
99 <tr class="memitem:ga5e535e346d92a9daf00be33abf79d4eb"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb">lws_email_check</a> (struct <a class="el" href="structlws__email.html">lws_email</a> *email)</td></tr>
100 <tr class="separator:ga5e535e346d92a9daf00be33abf79d4eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
101 <tr class="memitem:ga25298a5afc1074e13b2d5711a86432b2"><td class="memItemLeft" align="right" valign="top">LWS_VISIBLE LWS_EXTERN void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2">lws_email_destroy</a> (struct <a class="el" href="structlws__email.html">lws_email</a> *email)</td></tr>
102 <tr class="separator:ga25298a5afc1074e13b2d5711a86432b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
103 </table>
104 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
105 <h2>SMTP related functions</h2>
106 <p>These apis let you communicate with a local SMTP server to send email from lws. It handles all the SMTP sequencing and protocol actions.</p>
107 <p>Your system should have postfix, sendmail or another MTA listening on port 25 and able to send email using the "mail" commandline app. Usually distro MTAs are configured for this by default.</p>
108 <p>It runs via its own libuv events if initialized (which requires giving it a libuv loop to attach to).</p>
109 <p>It operates using three callbacks, on_next() queries if there is a new email to send, on_get_body() asks for the body of the email, and on_sent() is called after the email is successfully sent.</p>
110 <p>To use it</p>
111 <ul>
112 <li>create an <a class="el" href="structlws__email.html">lws_email</a> struct</li>
113 <li>initialize data, loop, the email_* strings, max_content_size and the callbacks</li>
114 <li>call <a class="el" href="group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29">lws_email_init()</a></li>
115 </ul>
116 <p>When you have at least one email to send, call <a class="el" href="group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb">lws_email_check()</a> to schedule starting to send it. </p>
117 <h2 class="groupheader">Enumeration Type Documentation</h2>
118 <a id="ga116be79bf44f9dc2a97f46e051fe4dc0"></a>
119 <h2 class="memtitle"><span class="permalink"><a href="#ga116be79bf44f9dc2a97f46e051fe4dc0">&sect;&nbsp;</a></span>lwsgs_smtp_states</h2>
120
121 <div class="memitem">
122 <div class="memproto">
123       <table class="memname">
124         <tr>
125           <td class="memname">enum <a class="el" href="group__smtp.html#ga116be79bf44f9dc2a97f46e051fe4dc0">lwsgs_smtp_states</a></td>
126         </tr>
127       </table>
128 </div><div class="memdoc">
129
130 <p><code>#include &lt;<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>&gt;</code></p>
131 <p>enum lwsgs_smtp_states - where we are in SMTP protocol sequence </p>
132 <table class="fieldtable">
133 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c"></a>LGSSMTP_IDLE&#160;</td><td class="fielddoc"><p>awaiting new email </p>
134 </td></tr>
135 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933"></a>LGSSMTP_CONNECTING&#160;</td><td class="fielddoc"><p>opening tcp connection to MTA </p>
136 </td></tr>
137 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d"></a>LGSSMTP_CONNECTED&#160;</td><td class="fielddoc"><p>tcp connection to MTA is connected </p>
138 </td></tr>
139 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad"></a>LGSSMTP_SENT_HELO&#160;</td><td class="fielddoc"><p>sent the HELO </p>
140 </td></tr>
141 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab"></a>LGSSMTP_SENT_FROM&#160;</td><td class="fielddoc"><p>sent FROM </p>
142 </td></tr>
143 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83"></a>LGSSMTP_SENT_TO&#160;</td><td class="fielddoc"><p>sent TO </p>
144 </td></tr>
145 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14"></a>LGSSMTP_SENT_DATA&#160;</td><td class="fielddoc"><p>sent DATA request </p>
146 </td></tr>
147 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69"></a>LGSSMTP_SENT_BODY&#160;</td><td class="fielddoc"><p>sent the email body </p>
148 </td></tr>
149 <tr><td class="fieldname"><a id="gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"></a>LGSSMTP_SENT_QUIT&#160;</td><td class="fielddoc"><p>sent the session quit </p>
150 </td></tr>
151 </table>
152 <div class="fragment"><div class="line"><a name="l04146"></a><span class="lineno"> 4146</span>&#160;                       {</div><div class="line"><a name="l04147"></a><span class="lineno"> 4147</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a>, </div><div class="line"><a name="l04148"></a><span class="lineno"> 4148</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a>, </div><div class="line"><a name="l04149"></a><span class="lineno"> 4149</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a>, </div><div class="line"><a name="l04150"></a><span class="lineno"> 4150</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a>, </div><div class="line"><a name="l04151"></a><span class="lineno"> 4151</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a>, </div><div class="line"><a name="l04152"></a><span class="lineno"> 4152</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a>, </div><div class="line"><a name="l04153"></a><span class="lineno"> 4153</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a>, </div><div class="line"><a name="l04154"></a><span class="lineno"> 4154</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a>, </div><div class="line"><a name="l04155"></a><span class="lineno"> 4155</span>&#160;        <a class="code" href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a>, </div><div class="line"><a name="l04156"></a><span class="lineno"> 4156</span>&#160;};</div><div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab61778f70ecac007b334bb14942eb41d">LGSSMTP_CONNECTED</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4149</div></div>
153 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a38fba41f28d754e38079b31418a86a69">LGSSMTP_SENT_BODY</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4154</div></div>
154 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a29e5b0ecf75375b5a643faa3d6222b7c">LGSSMTP_IDLE</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4147</div></div>
155 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0ab89442b7a3ca2b94c3cdcf33756eb933">LGSSMTP_CONNECTING</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4148</div></div>
156 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0aae20a0cb95b97a70f6b45d0ed2d5be83">LGSSMTP_SENT_TO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4152</div></div>
157 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a929bb4623ff3f585108aba2a1b047fab">LGSSMTP_SENT_FROM</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4151</div></div>
158 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a2c2ed16ffc572326e3040684084b21d5">LGSSMTP_SENT_QUIT</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4155</div></div>
159 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a1dfec948a864205cec875f63cbe0d4ad">LGSSMTP_SENT_HELO</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4150</div></div>
160 <div class="ttc" id="group__smtp_html_gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14"><div class="ttname"><a href="group__smtp.html#gga116be79bf44f9dc2a97f46e051fe4dc0a85e3c452950c09a79086bff4b9be5c14">LGSSMTP_SENT_DATA</a></div><div class="ttdef"><b>Definition:</b> libwebsockets.h:4153</div></div>
161 </div><!-- fragment -->
162 </div>
163 </div>
164 <h2 class="groupheader">Function Documentation</h2>
165 <a id="ga5e535e346d92a9daf00be33abf79d4eb"></a>
166 <h2 class="memtitle"><span class="permalink"><a href="#ga5e535e346d92a9daf00be33abf79d4eb">&sect;&nbsp;</a></span>lws_email_check()</h2>
167
168 <div class="memitem">
169 <div class="memproto">
170       <table class="memname">
171         <tr>
172           <td class="memname">LWS_VISIBLE LWS_EXTERN void lws_email_check </td>
173           <td>(</td>
174           <td class="paramtype">struct <a class="el" href="structlws__email.html">lws_email</a> *&#160;</td>
175           <td class="paramname"><em>email</em></td><td>)</td>
176           <td></td>
177         </tr>
178       </table>
179 </div><div class="memdoc">
180
181 <p><code>#include &lt;<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>&gt;</code></p>
182 <p><a class="el" href="group__smtp.html#ga5e535e346d92a9daf00be33abf79d4eb">lws_email_check()</a> - Request check for new email</p>
183 <dl class="params"><dt>Parameters</dt><dd>
184   <table class="params">
185     <tr><td class="paramname">email</td><td>struct <a class="el" href="structlws__email.html">lws_email</a> context to check</td></tr>
186   </table>
187   </dd>
188 </dl>
189 <p>Schedules a check for new emails in 1s... call this when you have queued an email for send. </p>
190
191 </div>
192 </div>
193 <a id="ga25298a5afc1074e13b2d5711a86432b2"></a>
194 <h2 class="memtitle"><span class="permalink"><a href="#ga25298a5afc1074e13b2d5711a86432b2">&sect;&nbsp;</a></span>lws_email_destroy()</h2>
195
196 <div class="memitem">
197 <div class="memproto">
198       <table class="memname">
199         <tr>
200           <td class="memname">LWS_VISIBLE LWS_EXTERN void lws_email_destroy </td>
201           <td>(</td>
202           <td class="paramtype">struct <a class="el" href="structlws__email.html">lws_email</a> *&#160;</td>
203           <td class="paramname"><em>email</em></td><td>)</td>
204           <td></td>
205         </tr>
206       </table>
207 </div><div class="memdoc">
208
209 <p><code>#include &lt;<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>&gt;</code></p>
210 <p><a class="el" href="group__smtp.html#ga25298a5afc1074e13b2d5711a86432b2">lws_email_destroy()</a> - stop using the struct <a class="el" href="structlws__email.html">lws_email</a></p>
211 <dl class="params"><dt>Parameters</dt><dd>
212   <table class="params">
213     <tr><td class="paramname">email</td><td>the struct <a class="el" href="structlws__email.html">lws_email</a> context</td></tr>
214   </table>
215   </dd>
216 </dl>
217 <p>Stop sending email using email and free allocations </p>
218
219 </div>
220 </div>
221 <a id="ga77fc9b56a1bb39484844981ec375fc29"></a>
222 <h2 class="memtitle"><span class="permalink"><a href="#ga77fc9b56a1bb39484844981ec375fc29">&sect;&nbsp;</a></span>lws_email_init()</h2>
223
224 <div class="memitem">
225 <div class="memproto">
226       <table class="memname">
227         <tr>
228           <td class="memname">LWS_VISIBLE LWS_EXTERN int lws_email_init </td>
229           <td>(</td>
230           <td class="paramtype">struct <a class="el" href="structlws__email.html">lws_email</a> *&#160;</td>
231           <td class="paramname"><em>email</em>, </td>
232         </tr>
233         <tr>
234           <td class="paramkey"></td>
235           <td></td>
236           <td class="paramtype">uv_loop_t *&#160;</td>
237           <td class="paramname"><em>loop</em>, </td>
238         </tr>
239         <tr>
240           <td class="paramkey"></td>
241           <td></td>
242           <td class="paramtype">int&#160;</td>
243           <td class="paramname"><em>max_content</em>&#160;</td>
244         </tr>
245         <tr>
246           <td></td>
247           <td>)</td>
248           <td></td><td></td>
249         </tr>
250       </table>
251 </div><div class="memdoc">
252
253 <p><code>#include &lt;<a class="el" href="libwebsockets_8h.html">lib/libwebsockets.h</a>&gt;</code></p>
254 <p><a class="el" href="group__smtp.html#ga77fc9b56a1bb39484844981ec375fc29">lws_email_init()</a> - Initialize a struct <a class="el" href="structlws__email.html">lws_email</a></p>
255 <dl class="params"><dt>Parameters</dt><dd>
256   <table class="params">
257     <tr><td class="paramname">email</td><td>struct <a class="el" href="structlws__email.html">lws_email</a> to init </td></tr>
258     <tr><td class="paramname">loop</td><td>libuv loop to use </td></tr>
259     <tr><td class="paramname">max_content</td><td>max email content size</td></tr>
260   </table>
261   </dd>
262 </dl>
263 <p>Prepares a struct <a class="el" href="structlws__email.html">lws_email</a> for use ending SMTP </p>
264
265 </div>
266 </div>
267 </div><!-- contents -->
268 </div><!-- doc-content -->
269 <!-- start footer part -->
270 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
271   <ul>
272     <li class="footer">Generated by
273     <a href="http://www.doxygen.org/index.html">
274     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.12 </li>
275   </ul>
276 </div>
277 </body>
278 </html>