Mercurial Hosting > luan
annotate website/src/examples/upload-and-email.html.luan @ 1667:c55373c3a0ce
manual work
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 08 May 2022 22:50:48 -0600 |
parents | 0c46edec25dd |
children | 92860f763715 |
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 |
1589 | 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{ |
1589 | 49 From = "smtp@luan.software" |
50 To = email | |
51 Subject = "Upload and Email" | |
52 body = { | |
53 { | |
54 body = "file should be attached" | |
55 } | |
56 { | |
57 ["Content-Type"] = file.content_type | |
58 ["Content-Disposition"] = [[attachment; filename="]]..file.filename..[["]] | |
59 body = file.content | |
60 } | |
61 } | |
564
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
62 } |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
63 sent() |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
64 end |
c8d4d69c6dd4
add examples/upload-and-email.luan
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff
changeset
|
65 end |