view src/api/change_email_1.json.luan @ 59:02d8876dc41d

improve change email
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 29 Nov 2022 18:45:22 -0700
parents 31c895b73bd0
children
line wrap: on
line source

local Luan = require "luan:Luan.luan"
local error = Luan.error
local Html = require "luan:Html.luan"
local url_encode = Html.url_encode or error()
local Io = require "luan:Io.luan"
local output_of = Io.output_of or error()
local Http = require "luan:http/Http.luan"
local Mail = require "site:/lib/Mail.luan"
local Api = require "site:/api/Api.luan"
local api = Api.api or error()
local user_error = Api.user_error or error()


return api(function()
	local base_url = Http.request.parameters.base_url or user_error "missing base_url param"
	local from = Http.request.parameters.from or user_error "missing from param"
	local to = Http.request.parameters.to or user_error "missing to param"
	local email = Http.request.parameters.email or user_error "missing email param"
	local password = Http.request.parameters.password or user_error "missing password param"
	local mailer = Mail.sender() or user_error "mail not configured"
	mailer.send{
		From = from
		To = to
		Subject = "Change Email"
		body = output_of(function() %>
Change your email address to <%=email%> by clicking this link:

<%=base_url%>/change_email.html?email=<%=url_encode(email)%>&password=<%=password%>

If you don't want to change your email address, then don't click on the link.
<%		end)
	}
	return {
		okay = true
	}
end)