Mercurial Hosting > luan
annotate website/src/examples/upload-and-email.html.luan @ 2021:b8e5d53c4fc9
admin monitors scheduler
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Mon, 20 Oct 2025 14:45:27 -0600 |
| parents | 28cd9b3abdb3 |
| children |
| 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" |
| 1827 | 8 port = 465 |
| 1824 | 9 username = "luan" |
| 10 password = "luanhost2" | |
|
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> |
| 1931 | 16 <html lang="en"> |
|
564
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> |
| 1931 | 32 <html lang="en"> |
|
564
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 |
