Mercurial Hosting > luan
annotate website/src/examples/upload-and-email.html.luan @ 1578:c922446f53aa
immutable threading
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 08 Feb 2021 14:16:19 -0700 |
parents | 13135e289b50 |
children | 0c46edec25dd |
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{ |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1217
diff
changeset
|
7 host = "smtpcorp.com" |
1576 | 8 username = "smtp@luan.software" |
1259
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1217
diff
changeset
|
9 password = "luanhost" |
e8020216dee7
add Luan.to_luan and fix multipart/form-data
Franklin Schmidt <fschmidt@gmail.com>
parents:
1217
diff
changeset
|
10 port = 2525 |
564
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 %> |
1178
49cf706c326a
serve_for_nginx on port 8081
Franklin Schmidt <fschmidt@gmail.com>
parents:
1152
diff
changeset
|
15 <!doctype html> |
564
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
16 <html> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
17 <body> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
18 <h1>Upload and Email</h1> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
19 <form method="post" enctype="multipart/form-data"> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
20 <p>Email: <input name=email></p> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
21 <p><input type=file name=file></p> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
22 <p><input type=submit></p> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
23 </form> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
24 </body> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
25 </html> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
26 <% |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
27 end |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
28 |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
29 local function sent() |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
30 %> |
1178
49cf706c326a
serve_for_nginx on port 8081
Franklin Schmidt <fschmidt@gmail.com>
parents:
1152
diff
changeset
|
31 <!doctype html> |
564
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
32 <html> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
33 <body> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
34 <h1>Upload and Email</h1> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
35 <p>file sent</p> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
36 </body> |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
37 </html> |
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 end |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
40 |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
41 return function() |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
42 Io.stdout = Http.response.text_writer() |
1152
21d157b153fe
change http parameters interface
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
43 local email = Http.request.parameters.email |
564
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
44 if email == nil then |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
45 form() |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
46 else |
1152
21d157b153fe
change http parameters interface
Franklin Schmidt <fschmidt@gmail.com>
parents:
693
diff
changeset
|
47 local file = Http.request.parameters.file |
564
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
48 send{ |
1576 | 49 from = "smtp@luan.software" |
1521
d3e61cd2aca0
docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
1312
diff
changeset
|
50 to = email |
d3e61cd2aca0
docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
1312
diff
changeset
|
51 subject = "Upload and Email" |
d3e61cd2aca0
docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
1312
diff
changeset
|
52 body = "file should be attached" |
d3e61cd2aca0
docs and shell bug fix
Franklin Schmidt <fschmidt@gmail.com>
parents:
1312
diff
changeset
|
53 attachments = {file} |
564
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
54 } |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
55 sent() |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
56 end |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
57 end |