annotate website/src/examples/upload-and-email.luan @ 1132:b70102bab110

add json_compressed_string()
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 02 Jan 2018 21:30:41 -0700
parents ca169567ce07
children 21d157b153fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
693
ca169567ce07 module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 564
diff changeset
1 local Io = require "luan:Io.luan"
ca169567ce07 module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 564
diff changeset
2 local Http = require "luan:http/Http.luan"
ca169567ce07 module URIs must now include ".luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 564
diff changeset
3 local Mail = require "luan:mail/Mail.luan"
564
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
6 local send = Mail.Sender{
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 host = "smtpcorp.com";
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
8 username = "smtp@luanhost.com";
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
9 password = "luanhost";
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10 port = 2525;
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11 }.send
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13 local function form()
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 %>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 <html>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 <body>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 <h1>Upload and Email</h1>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18 <form method="post" enctype="multipart/form-data">
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
19 <p>Email: <input name=email></p>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 <p><input type=file name=file></p>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 <p><input type=submit></p>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 </form>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 </body>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 </html>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
25 <%
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
26 end
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
27
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
28 local function sent()
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
29 %>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
30 <html>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 <body>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32 <h1>Upload and Email</h1>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33 <p>file sent</p>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
34 </body>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
35 </html>
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
36 <%
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
37 end
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
39 return function()
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
40 Io.stdout = Http.response.text_writer()
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
41 local email = Http.request.parameter.email
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
42 if email == nil then
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
43 form()
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
44 else
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
45 local file = Http.request.parameter.file
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
46 send{
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
47 from = "smtp@luanhost.com";
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
48 to = email;
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
49 subject = "Upload and Email";
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
50 body = "file should be attached";
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
51 attachments = {file};
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
52 }
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
53 sent()
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
54 end
c8d4d69c6dd4 add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
55 end