Mercurial Hosting > freedit
comparison src/api/change_email.json.luan @ 57:169ac5fdb320
add change email
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 28 Nov 2022 23:47:19 -0700 |
parents | src/api/login_email.json.luan@260abd8f8565 |
children |
comparison
equal
deleted
inserted
replaced
56:7ce54f6d93f2 | 57:169ac5fdb320 |
---|---|
1 local Luan = require "luan:Luan.luan" | |
2 local error = Luan.error | |
3 local Html = require "luan:Html.luan" | |
4 local url_encode = Html.url_encode or error() | |
5 local Io = require "luan:Io.luan" | |
6 local output_of = Io.output_of or error() | |
7 local Http = require "luan:http/Http.luan" | |
8 local Mail = require "site:/lib/Mail.luan" | |
9 local Api = require "site:/api/Api.luan" | |
10 local api = Api.api or error() | |
11 local user_error = Api.user_error or error() | |
12 | |
13 | |
14 return api(function() | |
15 local base_url = Http.request.parameters.base_url or user_error "missing base_url param" | |
16 local from = Http.request.parameters.from or user_error "missing from param" | |
17 local email = Http.request.parameters.email or user_error "missing email param" | |
18 local password = Http.request.parameters.password or user_error "missing password param" | |
19 local mailer = Mail.sender() or user_error "mail not configured" | |
20 mailer.send{ | |
21 From = from | |
22 To = email | |
23 Subject = "Change Email" | |
24 body = output_of(function() %> | |
25 Change your email address to this email by clicking this link: | |
26 | |
27 <%=base_url%>/change_email.html?email=<%=url_encode(email)%>&password=<%=password%> | |
28 <% end) | |
29 } | |
30 return { | |
31 okay = true | |
32 } | |
33 end) |