From 418d3fadfb3ddecbcfc8c614db669d04a2b7ea6c Mon Sep 17 00:00:00 2001 From: jeremy Date: Thu, 7 Aug 2025 13:19:47 -0700 Subject: [PATCH 1/2] Adding send_at for Sendgrid --- src/carbon_sendgrid_adapter.cr | 1 + src/carbon_sendgrid_extensions.cr | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/carbon_sendgrid_adapter.cr b/src/carbon_sendgrid_adapter.cr index 5196280..ce5457f 100644 --- a/src/carbon_sendgrid_adapter.cr +++ b/src/carbon_sendgrid_adapter.cr @@ -46,6 +46,7 @@ class Carbon::SendGridAdapter < Carbon::Adapter "asm" => {"group_id" => 0, "groups_to_display" => [] of Int32}, "mail_settings" => {sandbox_mode: {enable: sandbox?}}, "attachments" => attachments, + "send_at" => email.send_at, }.compact # If Sendgrid sees an empty attachments array, it'll return an error diff --git a/src/carbon_sendgrid_extensions.cr b/src/carbon_sendgrid_extensions.cr index 0af070e..643ec6b 100644 --- a/src/carbon_sendgrid_extensions.cr +++ b/src/carbon_sendgrid_extensions.cr @@ -24,6 +24,13 @@ module Carbon::SendGridExtensions def asm nil end + + # Tell Sendgrid to send the email at this time. + # Value should be a unix timestamp integer + # https://www.twilio.com/docs/sendgrid/for-developers/sending-email/personalizations + def send_at + nil + end end class Carbon::Email From bd0237503024ecc24106dd8c80946972866e6744 Mon Sep 17 00:00:00 2001 From: jeremy Date: Thu, 7 Aug 2025 13:25:10 -0700 Subject: [PATCH 2/2] Crystal 1.17 formatting --- spec/support/custom_template_email.cr | 2 +- spec/support/fake_email.cr | 2 +- spec/support/fake_email_with_attachments.cr | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/support/custom_template_email.cr b/spec/support/custom_template_email.cr index 69caeee..46f7890 100644 --- a/spec/support/custom_template_email.cr +++ b/spec/support/custom_template_email.cr @@ -7,7 +7,7 @@ class CustomTemplateEmail < Carbon::Email @headers = {} of String => String, @subject = "subject", @text_body : String? = nil, - @html_body : String? = nil + @html_body : String? = nil, ) end diff --git a/spec/support/fake_email.cr b/spec/support/fake_email.cr index fab39f0..7d0e68f 100644 --- a/spec/support/fake_email.cr +++ b/spec/support/fake_email.cr @@ -9,7 +9,7 @@ class FakeEmail < Carbon::Email @headers = {} of String => String, @subject = "subject", @text_body : String? = nil, - @html_body : String? = nil + @html_body : String? = nil, ) end diff --git a/spec/support/fake_email_with_attachments.cr b/spec/support/fake_email_with_attachments.cr index 6f59b81..6824e9e 100644 --- a/spec/support/fake_email_with_attachments.cr +++ b/spec/support/fake_email_with_attachments.cr @@ -9,7 +9,7 @@ class FakeEmailWithAttachments < Carbon::Email @headers = {} of String => String, @subject = "subject", @text_body : String? = nil, - @html_body : String? = nil + @html_body : String? = nil, ) end