Mercurial Hosting > freedit
comparison src/api/change_email_1.json.luan @ 58:31c895b73bd0
improve change email
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 29 Nov 2022 16:09:17 -0700 |
parents | src/api/change_email.json.luan@169ac5fdb320 |
children | 02d8876dc41d |
comparison
equal
deleted
inserted
replaced
57:169ac5fdb320 | 58:31c895b73bd0 |
---|---|
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 to = Http.request.parameters.to or user_error "missing to param" | |
18 local email = Http.request.parameters.email or user_error "missing email param" | |
19 local password = Http.request.parameters.password or user_error "missing password param" | |
20 local mailer = Mail.sender() or user_error "mail not configured" | |
21 mailer.send{ | |
22 From = from | |
23 To = to | |
24 Subject = "Change Email" | |
25 body = output_of(function() %> | |
26 Change your email address to <%=email%> by clicking this link: | |
27 | |
28 <%=base_url%>/change_email.html?email=<%=url_encode(email)%>&password1=<%=password%> | |
29 | |
30 If you don't want to change your email address, then don't click on the link. | |
31 <% end) | |
32 } | |
33 return { | |
34 okay = true | |
35 } | |
36 end) |