Mercurial Hosting > luan
annotate website/src/examples/upload-and-email.html.luan @ 2023:544ccce564f6 default tip
minor
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Mon, 20 Oct 2025 17:34:14 -0600 | 
| parents | 28cd9b3abdb3 | 
| children | 
| rev | line source | 
|---|---|
| 693 
ca169567ce07
module URIs must now include ".luan"
 Franklin Schmidt <fschmidt@gmail.com> parents: 
564diff
changeset | 1 local Io = require "luan:Io.luan" | 
| 
ca169567ce07
module URIs must now include ".luan"
 Franklin Schmidt <fschmidt@gmail.com> parents: 
564diff
changeset | 2 local Http = require "luan:http/Http.luan" | 
| 
ca169567ce07
module URIs must now include ".luan"
 Franklin Schmidt <fschmidt@gmail.com> parents: 
564diff
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: 
1217diff
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: 
1152diff
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: 
1152diff
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: 
693diff
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: 
693diff
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 | 
