summaryrefslogtreecommitdiffstats
path: root/src/SendGrid/Helpers/Mail/Model
diff options
context:
space:
mode:
Diffstat (limited to 'src/SendGrid/Helpers/Mail/Model')
-rw-r--r--src/SendGrid/Helpers/Mail/Model/ASM.cs14
-rw-r--r--src/SendGrid/Helpers/Mail/Model/Attachment.cs22
-rw-r--r--src/SendGrid/Helpers/Mail/Model/BCCSettings.cs13
-rw-r--r--src/SendGrid/Helpers/Mail/Model/BypassListManagement.cs10
-rw-r--r--src/SendGrid/Helpers/Mail/Model/ClickTracking.cs13
-rw-r--r--src/SendGrid/Helpers/Mail/Model/Content.cs41
-rw-r--r--src/SendGrid/Helpers/Mail/Model/EmailAddress.cs23
-rw-r--r--src/SendGrid/Helpers/Mail/Model/FooterSettings.cs16
-rw-r--r--src/SendGrid/Helpers/Mail/Model/Ganalytics.cs25
-rw-r--r--src/SendGrid/Helpers/Mail/Model/MailSettings.cs22
-rw-r--r--src/SendGrid/Helpers/Mail/Model/OpenTracking.cs13
-rw-r--r--src/SendGrid/Helpers/Mail/Model/Personalization.cs32
-rw-r--r--src/SendGrid/Helpers/Mail/Model/SandboxMode.cs10
-rw-r--r--src/SendGrid/Helpers/Mail/Model/SpamCheck.cs16
-rw-r--r--src/SendGrid/Helpers/Mail/Model/SubscriptionTracking.cs19
-rw-r--r--src/SendGrid/Helpers/Mail/Model/TrackingSettings.cs19
16 files changed, 308 insertions, 0 deletions
diff --git a/src/SendGrid/Helpers/Mail/Model/ASM.cs b/src/SendGrid/Helpers/Mail/Model/ASM.cs
new file mode 100644
index 0000000..f300780
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/ASM.cs
@@ -0,0 +1,14 @@
+using System.Collections.Generic;
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class ASM
+ {
+ [JsonProperty(PropertyName = "group_id")]
+ public int GroupId { get; set; }
+
+ [JsonProperty(PropertyName = "groups_to_display")]
+ public List<int> GroupsToDisplay { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/Attachment.cs b/src/SendGrid/Helpers/Mail/Model/Attachment.cs
new file mode 100644
index 0000000..cc2bfd6
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/Attachment.cs
@@ -0,0 +1,22 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class Attachment
+ {
+ [JsonProperty(PropertyName = "content")]
+ public string Content { get; set; }
+
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; set; }
+
+ [JsonProperty(PropertyName = "filename")]
+ public string Filename { get; set; }
+
+ [JsonProperty(PropertyName = "disposition")]
+ public string Disposition { get; set; }
+
+ [JsonProperty(PropertyName = "content_id")]
+ public string ContentId { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/BCCSettings.cs b/src/SendGrid/Helpers/Mail/Model/BCCSettings.cs
new file mode 100644
index 0000000..79f989e
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/BCCSettings.cs
@@ -0,0 +1,13 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class BCCSettings
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool? Enable { get; set; }
+
+ [JsonProperty(PropertyName = "email")]
+ public string Email { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/BypassListManagement.cs b/src/SendGrid/Helpers/Mail/Model/BypassListManagement.cs
new file mode 100644
index 0000000..cb4cfed
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/BypassListManagement.cs
@@ -0,0 +1,10 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class BypassListManagement
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool Enable { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/ClickTracking.cs b/src/SendGrid/Helpers/Mail/Model/ClickTracking.cs
new file mode 100644
index 0000000..b8f82f5
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/ClickTracking.cs
@@ -0,0 +1,13 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class ClickTracking
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool? Enable { get; set; }
+
+ [JsonProperty(PropertyName = "enable_text")]
+ public bool? EnableText { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/Content.cs b/src/SendGrid/Helpers/Mail/Model/Content.cs
new file mode 100644
index 0000000..0f05156
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/Content.cs
@@ -0,0 +1,41 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class Content
+ {
+ public Content()
+ {
+ }
+
+ public Content(string type, string value)
+ {
+ this.Type = type;
+ this.Value = value;
+ }
+
+ [JsonProperty(PropertyName = "type")]
+ public string Type { get; set; }
+
+ [JsonProperty(PropertyName = "value")]
+ public string Value { get; set; }
+ }
+
+ public class PlainTextContent : Content
+ {
+ public PlainTextContent(string value)
+ {
+ this.Type = MimeType.Text;
+ this.Value = value;
+ }
+ }
+
+ public class HtmlContent : Content
+ {
+ public HtmlContent(string value)
+ {
+ this.Type = MimeType.Html;
+ this.Value = value;
+ }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/EmailAddress.cs b/src/SendGrid/Helpers/Mail/Model/EmailAddress.cs
new file mode 100644
index 0000000..e1ba319
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/EmailAddress.cs
@@ -0,0 +1,23 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class EmailAddress
+ {
+ public EmailAddress()
+ {
+ }
+
+ public EmailAddress(string email, string name = null)
+ {
+ this.Email = email;
+ this.Name = name;
+ }
+
+ [JsonProperty(PropertyName = "name")]
+ public string Name { get; set; }
+
+ [JsonProperty(PropertyName = "email")]
+ public string Email { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/FooterSettings.cs b/src/SendGrid/Helpers/Mail/Model/FooterSettings.cs
new file mode 100644
index 0000000..5ef64f7
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/FooterSettings.cs
@@ -0,0 +1,16 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class FooterSettings
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool Enable { get; set; }
+
+ [JsonProperty(PropertyName = "text")]
+ public string Text { get; set; }
+
+ [JsonProperty(PropertyName = "html")]
+ public string Html { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/Ganalytics.cs b/src/SendGrid/Helpers/Mail/Model/Ganalytics.cs
new file mode 100644
index 0000000..071da50
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/Ganalytics.cs
@@ -0,0 +1,25 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class Ganalytics
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool? Enable { get; set; }
+
+ [JsonProperty(PropertyName = "utm_source")]
+ public string UtmSource { get; set; }
+
+ [JsonProperty(PropertyName = "utm_medium")]
+ public string UtmMedium { get; set; }
+
+ [JsonProperty(PropertyName = "utm_term")]
+ public string UtmTerm { get; set; }
+
+ [JsonProperty(PropertyName = "utm_content")]
+ public string UtmContent { get; set; }
+
+ [JsonProperty(PropertyName = "utm_campaign")]
+ public string UtmCampaign { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/MailSettings.cs b/src/SendGrid/Helpers/Mail/Model/MailSettings.cs
new file mode 100644
index 0000000..1875603
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/MailSettings.cs
@@ -0,0 +1,22 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class MailSettings
+ {
+ [JsonProperty(PropertyName = "bcc")]
+ public BCCSettings BccSettings { get; set; }
+
+ [JsonProperty(PropertyName = "bypass_list_management")]
+ public BypassListManagement BypassListManagement { get; set; }
+
+ [JsonProperty(PropertyName = "footer")]
+ public FooterSettings FooterSettings { get; set; }
+
+ [JsonProperty(PropertyName = "sandbox_mode")]
+ public SandboxMode SandboxMode { get; set; }
+
+ [JsonProperty(PropertyName = "spam_check")]
+ public SpamCheck SpamCheck { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/OpenTracking.cs b/src/SendGrid/Helpers/Mail/Model/OpenTracking.cs
new file mode 100644
index 0000000..b171a0b
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/OpenTracking.cs
@@ -0,0 +1,13 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class OpenTracking
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool? Enable { get; set; }
+
+ [JsonProperty(PropertyName = "substitution_tag")]
+ public string SubstitutionTag { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/Personalization.cs b/src/SendGrid/Helpers/Mail/Model/Personalization.cs
new file mode 100644
index 0000000..54a3506
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/Personalization.cs
@@ -0,0 +1,32 @@
+using System.Collections.Generic;
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class Personalization
+ {
+ [JsonProperty(PropertyName = "to")]
+ public List<EmailAddress> Tos { get; set; }
+
+ [JsonProperty(PropertyName = "cc")]
+ public List<EmailAddress> Ccs { get; set; }
+
+ [JsonProperty(PropertyName = "bcc")]
+ public List<EmailAddress> Bccs { get; set; }
+
+ [JsonProperty(PropertyName = "subject")]
+ public string Subject { get; set; }
+
+ [JsonProperty(PropertyName = "headers")]
+ public Dictionary<string, string> Headers { get; set; }
+
+ [JsonProperty(PropertyName = "substitutions")]
+ public Dictionary<string, string> Substitutions { get; set; }
+
+ [JsonProperty(PropertyName = "custom_args")]
+ public Dictionary<string, string> CustomArgs { get; set; }
+
+ [JsonProperty(PropertyName = "send_at")]
+ public long? SendAt { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/SandboxMode.cs b/src/SendGrid/Helpers/Mail/Model/SandboxMode.cs
new file mode 100644
index 0000000..7dea93e
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/SandboxMode.cs
@@ -0,0 +1,10 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class SandboxMode
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool? Enable { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/SpamCheck.cs b/src/SendGrid/Helpers/Mail/Model/SpamCheck.cs
new file mode 100644
index 0000000..8b1abf4
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/SpamCheck.cs
@@ -0,0 +1,16 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class SpamCheck
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool? Enable { get; set; }
+
+ [JsonProperty(PropertyName = "threshold")]
+ public int? Threshold { get; set; }
+
+ [JsonProperty(PropertyName = "post_to_url")]
+ public string PostToUrl { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/SubscriptionTracking.cs b/src/SendGrid/Helpers/Mail/Model/SubscriptionTracking.cs
new file mode 100644
index 0000000..ce5704e
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/SubscriptionTracking.cs
@@ -0,0 +1,19 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class SubscriptionTracking
+ {
+ [JsonProperty(PropertyName = "enable")]
+ public bool Enable { get; set; }
+
+ [JsonProperty(PropertyName = "text")]
+ public string Text { get; set; }
+
+ [JsonProperty(PropertyName = "html")]
+ public string Html { get; set; }
+
+ [JsonProperty(PropertyName = "substitution_tag")]
+ public string SubstitutionTag { get; set; }
+ }
+} \ No newline at end of file
diff --git a/src/SendGrid/Helpers/Mail/Model/TrackingSettings.cs b/src/SendGrid/Helpers/Mail/Model/TrackingSettings.cs
new file mode 100644
index 0000000..73f8056
--- /dev/null
+++ b/src/SendGrid/Helpers/Mail/Model/TrackingSettings.cs
@@ -0,0 +1,19 @@
+using Newtonsoft.Json;
+
+namespace SendGrid.Helpers.Mail
+{
+ public class TrackingSettings
+ {
+ [JsonProperty(PropertyName = "click_tracking")]
+ public ClickTracking ClickTracking { get; set; }
+
+ [JsonProperty(PropertyName = "open_tracking")]
+ public OpenTracking OpenTracking { get; set; }
+
+ [JsonProperty(PropertyName = "subscription_tracking")]
+ public SubscriptionTracking SubscriptionTracking { get; set; }
+
+ [JsonProperty(PropertyName = "ganalytics")]
+ public Ganalytics Ganalytics { get; set; }
+ }
+} \ No newline at end of file