Mercurial Hosting > luan
annotate website/src/examples/upload-and-email.html.luan @ 2024:fa8304b060d9
rename launching luan files
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Wed, 29 Oct 2025 21:12:53 -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 | 
