use canonical_name if it is available; report error when trying to send mail to non-existent players

This commit is contained in:
flux 2023-02-23 13:41:41 -08:00
parent 43bf5b9a6f
commit f7a7ef361a
No known key found for this signature in database
GPG key ID: 9333B27816848A15
5 changed files with 83 additions and 72 deletions

View file

@ -464,7 +464,7 @@ function mail.handle_receivefields(player, formname, fields)
elseif formname == "mail:compose" then
local name = player:get_player_name()
if fields.send then
mail.send({
local error = mail.send({
from = name,
to = fields.to,
cc = fields.cc,
@ -472,6 +472,11 @@ function mail.handle_receivefields(player, formname, fields)
subject = fields.subject,
body = fields.body,
})
if error then
minetest.chat_send_player(name, error)
return
end
local contacts = mail.getContacts(name)
local recipients = mail.parse_player_list(fields.to)
local changed = false