Merge pull request #157 from jetzig-framework/fix-email-recipients

Fix email recipients
This commit is contained in:
bobf 2025-02-15 17:58:49 +00:00 committed by GitHub
commit 492c1833b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 10 deletions

View File

@ -582,17 +582,17 @@ const RequestMail = struct {
var mail_job = try self.request.job("__jetzig_mail"); var mail_job = try self.request.job("__jetzig_mail");
try mail_job.params.put("mailer_name", self.name); try mail_job.params.put("mailer_name", self.name);
try mail_job.params.put("from", self.mail_params.from); try mail_job.params.put("from", self.mail_params.get(.from));
var to_array = try mail_job.data.array(); var to_array = try mail_job.data.array();
if (self.mail_params.to) |to| { if (self.mail_params.get(.to)) |to| {
for (to) |each| try to_array.append(each); for (to) |each| try to_array.append(.{ .email = each.email, .name = each.name });
} }
try mail_job.params.put("to", to_array); try mail_job.params.put("to", to_array);
try mail_job.params.put("subject", self.mail_params.subject); try mail_job.params.put("subject", self.mail_params.get(.subject));
try mail_job.params.put("html", self.mail_params.html); try mail_job.params.put("html", self.mail_params.get(.html));
try mail_job.params.put("text", self.mail_params.text); try mail_job.params.put("text", self.mail_params.get(.text));
if (self.request.response_data.value) |value| try mail_job.params.put( if (self.request.response_data.value) |value| try mail_job.params.put(
"params", "params",

View File

@ -46,8 +46,11 @@ pub fn run(allocator: std.mem.Allocator, params: *jetzig.data.Value, env: jetzig
if (env.environment == .development and !jetzig.config.get(bool, "force_development_email_delivery")) { if (env.environment == .development and !jetzig.config.get(bool, "force_development_email_delivery")) {
try env.logger.INFO( try env.logger.INFO(
"Skipping mail delivery in development environment:\n{s}", \\Skipping mail delivery in development environment:
.{try mail.generateData()}, \\To: {?s}
\\{s}
,
.{ mail.params.get(.to), try mail.generateData() },
); );
} else { } else {
try mail.deliver(); try mail.deliver();
@ -87,8 +90,8 @@ fn resolveTo(allocator: std.mem.Allocator, params: *const jetzig.data.Value) !?[
.null => null, .null => null,
.string => |string| .{ .email = string.value }, .string => |string| .{ .email = string.value },
.object => |object| .{ .object => |object| .{
.email = object.getT(.string, "email") orelse return null, .email = object.getT(.string, "email") orelse return error.JetzigMissingEmailField,
.name = object.getT(.string, "name") orelse return null, .name = object.getT(.string, "name"),
}, },
else => unreachable, else => unreachable,
}; };