summaryrefslogtreecommitdiffstats
path: root/SendGrid/Example
diff options
context:
space:
mode:
authorTyler Bischel <tyler.bischel@sendgrid.com>2012-01-16 23:44:30 -0800
committerTyler Bischel <tyler.bischel@sendgrid.com>2012-01-16 23:44:30 -0800
commit85265f48de06629ff7307d642ce765e7b34843a1 (patch)
treed9dcc93abe5dd4521a48917e26e0f71ca611b756 /SendGrid/Example
parentcc7e8b7a0aae5381899ea1ea4c91e467f170348a (diff)
parent2cfea4a2829103b413175deac64d62caea141b5c (diff)
downloadsendgrid-csharp-85265f48de06629ff7307d642ce765e7b34843a1.zip
sendgrid-csharp-85265f48de06629ff7307d642ce765e7b34843a1.tar.gz
sendgrid-csharp-85265f48de06629ff7307d642ce765e7b34843a1.tar.bz2
Merge branch 'us1882' of github.com:sendgrid/sendgrid-csharp
Diffstat (limited to 'SendGrid/Example')
-rwxr-xr-xSendGrid/Example/Program.cs59
-rwxr-xr-xSendGrid/Example/RESTAPI.cs406
-rwxr-xr-xSendGrid/Example/SMTPAPI.cs291
3 files changed, 633 insertions, 123 deletions
diff --git a/SendGrid/Example/Program.cs b/SendGrid/Example/Program.cs
index 87c44a4..c1815b7 100755
--- a/SendGrid/Example/Program.cs
+++ b/SendGrid/Example/Program.cs
@@ -11,69 +11,26 @@ namespace Example
{
class Program
{
- static void Main(String[] args)
- {
- var restInstance = REST.GetInstance(new NetworkCredential("sgrid_username", "sgrid_password"));
-
- //create a new message object
- var message = SendGrid.GenerateInstance();
-
- message.AddTo("cj.buchmann@sendgrid.com");
- message.AddTo("tyler.bischel@sendgrid.com");
- message.AddTo("kyle.partridge@sendgrid.com");
- message.From = new MailAddress("cj.buchmann@sendgrid.com");
- message.Html = "<div>hello world</div>";
- message.Subject = "Hello World SUbject";
- message.AddAttachment(@"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg");
- message.AddAttachment(@"C:\Users\Public\Pictures\Sample Pictures\Jellyfish.jpg");
-
- restInstance.Deliver(message);
-
- Console.WriteLine("Message Sent");
- Console.WriteLine("DONE!");
- Console.ReadLine();
- }
-
// this code is used for the SMTPAPI examples
- /*static void Main(string[] args)
+ static void Main(string[] args)
{
- var username = "cjbuchmann";
- var password = "gadget15";
+ var username = "sgrid_username";
+ var password = "sgrid_password";
var from = "cj.buchmann@sendgrid.com";
var to = new List<String>
{
"cj.buchmann@sendgrid.com"
};
- var bcc = new List<string>
- {
- "eric@sendgrid.com"
- };
-
- var cc = new List<string>
- {
- "eric@sendgrid.com"
- };
-
//initialize the SMTPAPI example class
var smtpapi = new SMTPAPI(username, password, from, to);
+ var restapi = new RESTAPI(username, password, from, to);
- //send a simple HTML encoded email.
- //smtpapi.SimpleHTMLEmail();
-
- //send a simple Plaintext email.
- //smtpapi.SimplePlaintextEmail();
-
- //send a gravatar enabled email.
- //smtpapi.EnableGravatarEmail();
-
- //send an open tracking enabled email.
- //smtpapi.EnableOpenTrackingEmail();
-
- //send an open tracking enabled email.
- smtpapi.EnableClickTrackingEmail();
+ //use this section to test out our REST and SMTP examples!
+ restapi.EnableTemplateEmail();
+ Console.WriteLine("Done!");
Console.ReadLine();
- }*/
+ }
}
}
diff --git a/SendGrid/Example/RESTAPI.cs b/SendGrid/Example/RESTAPI.cs
index 73dbf04..8c15800 100755
--- a/SendGrid/Example/RESTAPI.cs
+++ b/SendGrid/Example/RESTAPI.cs
@@ -14,82 +14,412 @@ namespace Example
private String _password;
private String _from;
private IEnumerable<String> _to;
- private IEnumerable<String> _bcc;
- private IEnumerable<String> _cc;
- public RESTAPI(String username, String password, String from, IEnumerable<String> recipients, IEnumerable<String> bcc, IEnumerable<String> cc)
+ public RESTAPI(String username, String password, String from, IEnumerable<String> recipients)
{
_username = username;
_password = password;
_from = from;
_to = recipients;
- _bcc = bcc;
- _cc = cc;
}
+ /// <summary>
+ /// Send a simple HTML based email
+ /// </summary>
public void SimpleHTMLEmail()
{
//create a new message object
- var message = SendGrid.GenerateInstance();
+ var message = SendGrid.GetInstance();
//set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ message.Html = "<html><p>Hello</p><p>World</p></html>";
+
+ //set the message subject
+ message.Subject = "Hello World HTML Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// Send a simple Plain Text email
+ /// </summary>
+ public void SimplePlaintextEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ message.Text = "Hello World Plain Text";
+
+ //set the message subject
+ message.Subject = "Hello World Plain Text Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// Enable The Gravatar Filter.
+ /// Currently the filter generates a 1x1 pixel gravatar image.
+ /// http://docs.sendgrid.com/documentation/apps/gravatar/
+ /// </summary>
+ public void EnableGravatarEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
- if(_to != null)
+ //set the message recipients
+ foreach (string recipient in _to)
{
- foreach (String recipient in _to)
- {
- message.AddTo(recipient);
- }
+ message.AddTo(recipient);
}
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ message.Html = "<p style='color:red';>Hello World Gravatar Email</p>";
+
+ //set the message subject
+ message.Subject = "Hello World Gravatar Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable gravatar
+ message.EnableGravatar();
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// Enable the Open Tracking to track when emails are opened.
+ /// http://docs.sendgrid.com/documentation/apps/open-tracking/
+ /// </summary>
+ public void EnableOpenTrackingEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
- if(_bcc != null)
+ //set the message recipients
+ foreach (string recipient in _to)
{
- foreach (String blindcc in _bcc)
- {
- message.AddBcc(blindcc);
- }
+ message.AddTo(recipient);
}
-
- if(_cc != null)
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ message.Html = "<p style='color:red';>Hello World Plain Text</p>";
+
+ //set the message subject
+ message.Subject = "Hello World Open Tracking Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable gravatar
+ message.EnableOpenTracking();
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// Point the urls to Sendgrid Servers so that the clicks can be logged before
+ /// being directed to the appropriate link
+ /// http://docs.sendgrid.com/documentation/apps/click-tracking/
+ /// </summary>
+ public void EnableClickTrackingEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
{
- foreach (String cc in _cc)
- {
- message.AddCc(cc);
- }
+ message.AddTo(recipient);
}
- var headers = new Dictionary<String, String>
- {
- {"key1", "value1"},
- {"key2", "value2"},
- {"icanhazcheeze", "kthnxbye"}
- };
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World HTML </p> <a href='http://microsoft.com'>Checkout Microsoft!!</a>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "hello world http://microsoft.com";
+
+ //set the message subject
+ message.Subject = "Hello World Click Tracking Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
- message.AddHeaders(headers);
+ //enable clicktracking
+ message.EnableClickTracking(false);
- //var replyTo = new List<MailAddress> { new MailAddress("tyler.bischel@sendgrid.com") };
+ //send the mail
+ transportInstance.Deliver(message);
+ }
- //message.ReplyTo = replyTo.ToArray();
+ /// <summary>
+ /// The Spam Checker filter, is useful when your web application allows your end users
+ /// to create content that is then emailed through your SendGrid account.
+ /// http://docs.sendgrid.com/documentation/apps/spam-checker-filter/
+ /// </summary>
+ public void EnableSpamCheckEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
//set the sender
message.From = new MailAddress(_from);
//set the message body
- message.Html = "<html><p>Hello</p><p>World</p></html>";
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>VIAGRA!!!!!! Viagra!!! CHECKOUT THIS VIAGRA!!!! MALE ENHANCEMENT!!! </p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ //set the message subject
+ message.Subject = "WIN A MILLION DOLLARS TODAY! WORK FROM HOME! A NIGERIAN PRINCE WANTS YOU!";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable spamcheck
+ message.EnableSpamCheck();
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// Add automatic unsubscribe links to the bottom of emails.
+ /// http://docs.sendgrid.com/documentation/apps/subscription-tracking/
+ /// </summary>
+ public void EnableUnsubscribeEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "This is the HTML body";
+
+ message.Text = "This is the plain text body";
+
+ //set the message subject
+ message.Subject = "Hello World Unsubscribe Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable spamcheck
+ //or optionally, you can specify 'replace' instead of the text and html in order to
+ //place the link wherever you want.
+ message.EnableUnsubscribe("Please click the following link to unsubscribe: <% %>", "Please click <% here %> to unsubscribe");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// The Footer App will insert a custom footer at the bottom of the text and HTML bodies.
+ /// http://docs.sendgrid.com/documentation/apps/footer/
+ /// </summary>
+ public void EnableFooterEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Footer Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //Enable Footer
+ message.EnableFooter("PLAIN TEXT FOOTER", "<p color='blue'>HTML FOOTER TEXT</p>");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// The Footer App will insert a custom footer at the bottom of the text and HTML bodies.
+ /// http://docs.sendgrid.com/documentation/apps/google-analytics/
+ /// </summary>
+ public void EnableGoogleAnalytics()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+ message.Html += "Checkout my page at <a href=\"http://microsoft.com\">Microsoft</a>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Footer Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable Google Analytics
+ message.EnableGoogleAnalytics("SendGridTest", "EMAIL", "Sendgrid", "ad-one", "My SG Campaign");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// This feature wraps an HTML template around your email content.
+ /// This can be useful for sending out newsletters and/or other HTML formatted messages.
+ /// http://docs.sendgrid.com/documentation/apps/email-templates/
+ /// </summary>
+ public void EnableTemplateEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "Hello World plain text";
//set the message subject
- message.Subject = "Hello World Simple Test";
+ message.Subject = "Hello World Template Test";
+
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable template
+ message.EnableTemplate("<p>My Email Template <% body %> is awesome!</p>");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// This feature wraps an HTML template around your email content.
+ /// This can be useful for sending out newsletters and/or other HTML formatted messages.
+ /// hhttp://docs.sendgrid.com/documentation/apps/email-templates/
+ /// </summary>
+ public void EnableBypassListManagementEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
- message.AddAttachment(@"D:\att_proj\21.jpg");
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Bypass List Management Test";
- //Utils.PrepareAttachments();
+ //create an instance of the REST transport mechanism
+ var transportInstance = REST.GetInstance(new NetworkCredential(_username, _password));
- //create an instance of the SMTP transport mechanism
- var restInstance = REST.GetInstance(new NetworkCredential(_username, _password));
+ //enable bypass list management
+ message.EnableBypassListManagement();
//send the mail
- restInstance.Deliver(message);
+ transportInstance.Deliver(message);
}
}
}
diff --git a/SendGrid/Example/SMTPAPI.cs b/SendGrid/Example/SMTPAPI.cs
index b46520b..ca80f69 100755
--- a/SendGrid/Example/SMTPAPI.cs
+++ b/SendGrid/Example/SMTPAPI.cs
@@ -12,9 +12,9 @@ namespace Example
private String _username;
private String _password;
private String _from;
- private IEnumerable<string> _to;
+ private IEnumerable<String> _to;
- public SMTPAPI(String username, String password, String from, IEnumerable<string> recipients)
+ public SMTPAPI(String username, String password, String from, IEnumerable<String> recipients)
{
_username = username;
_password = password;
@@ -28,7 +28,7 @@ namespace Example
public void SimpleHTMLEmail()
{
//create a new message object
- var message = SendGrid.GenerateInstance();
+ var message = SendGrid.GetInstance();
//set the message recipients
foreach(string recipient in _to)
@@ -43,13 +43,13 @@ namespace Example
message.Html = "<html><p>Hello</p><p>World</p></html>";
//set the message subject
- message.Subject = "Hello World Simple Test";
+ message.Subject = "Hello World HTML Test";
//create an instance of the SMTP transport mechanism
- var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
//send the mail
- smtpInstance.Deliver(message);
+ transportInstance.Deliver(message);
}
/// <summary>
@@ -58,7 +58,7 @@ namespace Example
public void SimplePlaintextEmail()
{
//create a new message object
- var message = SendGrid.GenerateInstance();
+ var message = SendGrid.GetInstance();
//set the message recipients
foreach(string recipient in _to)
@@ -73,24 +73,24 @@ namespace Example
message.Text = "Hello World Plain Text";
//set the message subject
- message.Subject = "Hello World Simple Test";
+ message.Subject = "Hello World Plain Text Test";
//create an instance of the SMTP transport mechanism
- var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
//send the mail
- smtpInstance.Deliver(message);
+ transportInstance.Deliver(message);
}
/// <summary>
/// Enable The Gravatar Filter.
- /// Currently the filter a 1x1 pixel gravatar image.
- /// Find more info at http://docs.sendgrid.com/documentation/apps/gravatar/
+ /// Currently the filter generates a 1x1 pixel gravatar image.
+ /// http://docs.sendgrid.com/documentation/apps/gravatar/
/// </summary>
public void EnableGravatarEmail()
{
//create a new message object
- var message = SendGrid.GenerateInstance();
+ var message = SendGrid.GetInstance();
//set the message recipients
foreach (string recipient in _to)
@@ -108,13 +108,13 @@ namespace Example
message.Subject = "Hello World Gravatar Test";
//create an instance of the SMTP transport mechanism
- var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
//enable gravatar
message.EnableGravatar();
//send the mail
- smtpInstance.Deliver(message);
+ transportInstance.Deliver(message);
}
/// <summary>
@@ -123,9 +123,8 @@ namespace Example
/// </summary>
public void EnableOpenTrackingEmail()
{
- var header = new Header();
//create a new message object
- var message = SendGrid.GenerateInstance();
+ var message = SendGrid.GetInstance();
//set the message recipients
foreach (string recipient in _to)
@@ -143,28 +142,24 @@ namespace Example
message.Subject = "Hello World Open Tracking Test";
//create an instance of the SMTP transport mechanism
- var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
//enable gravatar
message.EnableOpenTracking();
- Console.WriteLine(header.AsJson());
-
//send the mail
- smtpInstance.Deliver(message);
-
- Console.WriteLine("done");
+ transportInstance.Deliver(message);
}
/// <summary>
- /// Enable the Open Tracking to track when emails are opened.
- /// http://docs.sendgrid.com/documentation/apps/open-tracking/
+ /// Point the urls to Sendgrid Servers so that the clicks can be logged before
+ /// being directed to the appropriate link
+ /// http://docs.sendgrid.com/documentation/apps/click-tracking/
/// </summary>
public void EnableClickTrackingEmail()
{
- var header = new Header();
//create a new message object
- var message = SendGrid.GenerateInstance();
+ var message = SendGrid.GetInstance();
//set the message recipients
foreach (string recipient in _to)
@@ -177,25 +172,253 @@ namespace Example
//set the message body
var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
- message.Html = "<p style='color:red';>Hello World Plain Text</p> <a href = 'http://microsoft.com'>Checkout Microsoft!!</a>";
+ message.Html = "<p style='color:red';>Hello World HTML </p> <a href='http://microsoft.com'>Checkout Microsoft!!</a>";
message.Html += "<p>Sent At : " + timestamp + "</p>";
+ message.Text = "hello world http://microsoft.com";
+
//set the message subject
message.Subject = "Hello World Click Tracking Test";
//create an instance of the SMTP transport mechanism
- var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
//enable clicktracking
- message.EnableClickTracking("1");
+ message.EnableClickTracking(false);
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// The Spam Checker filter, is useful when your web application allows your end users
+ /// to create content that is then emailed through your SendGrid account.
+ /// http://docs.sendgrid.com/documentation/apps/spam-checker-filter/
+ /// </summary>
+ public void EnableSpamCheckEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>VIAGRA!!!!!! Viagra!!! CHECKOUT THIS VIAGRA!!!! MALE ENHANCEMENT!!! </p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ //set the message subject
+ message.Subject = "WIN A MILLION DOLLARS TODAY! WORK FROM HOME! A NIGERIAN PRINCE WANTS YOU!";
+
+ //create an instance of the SMTP transport mechanism
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable spamcheck
+ message.EnableSpamCheck();
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// Add automatic unsubscribe links to the bottom of emails.
+ /// http://docs.sendgrid.com/documentation/apps/subscription-tracking/
+ /// </summary>
+ public void EnableUnsubscribeEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
- Console.WriteLine(header.AsJson());
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "This is the HTML body";
+
+ message.Text = "This is the plain text body";
+
+ //set the message subject
+ message.Subject = "Hello World Unsubscribe Test";
+
+ //create an instance of the SMTP transport mechanism
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable spamcheck
+ //or optionally, you can specify 'replace' instead of the text and html in order to
+ //place the link wherever you want.
+ message.EnableUnsubscribe("Please click the following link to unsubscribe: <% %>", "Please click <% here %> to unsubscribe");
//send the mail
- smtpInstance.Deliver(message);
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// The Footer App will insert a custom footer at the bottom of the text and HTML bodies.
+ /// http://docs.sendgrid.com/documentation/apps/footer/
+ /// </summary>
+ public void EnableFooterEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
- Console.WriteLine("done");
- Console.WriteLine("Sent at : "+timestamp);
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Footer Test";
+
+ //create an instance of the SMTP transport mechanism
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
+
+ //Enable Footer
+ message.EnableFooter("PLAIN TEXT FOOTER", "<p color='blue'>HTML FOOTER TEXT</p>");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// The Footer App will insert a custom footer at the bottom of the text and HTML bodies.
+ /// http://docs.sendgrid.com/documentation/apps/google-analytics/
+ /// </summary>
+ public void EnableGoogleAnalytics()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+ message.Html += "Checkout my page at <a href=\"http://microsoft.com\">Microsoft</a>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Footer Test";
+
+ //create an instance of the SMTP transport mechanism
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable Google Analytics
+ message.EnableGoogleAnalytics("SendGridTest", "EMAIL", "Sendgrid", "ad-one", "My SG Campaign");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// This feature wraps an HTML template around your email content.
+ /// This can be useful for sending out newsletters and/or other HTML formatted messages.
+ /// http://docs.sendgrid.com/documentation/apps/email-templates/
+ /// </summary>
+ public void EnableTemplateEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Template Test";
+
+ //create an instance of the SMTP transport mechanism
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable template
+ message.EnableTemplate("<p>My Email Template <% body %> is awesome!</p>");
+
+ //send the mail
+ transportInstance.Deliver(message);
+ }
+
+ /// <summary>
+ /// This feature wraps an HTML template around your email content.
+ /// This can be useful for sending out newsletters and/or other HTML formatted messages.
+ /// hhttp://docs.sendgrid.com/documentation/apps/email-templates/
+ /// </summary>
+ public void EnableBypassListManagementEmail()
+ {
+ //create a new message object
+ var message = SendGrid.GetInstance();
+
+ //set the message recipients
+ foreach (string recipient in _to)
+ {
+ message.AddTo(recipient);
+ }
+
+ //set the sender
+ message.From = new MailAddress(_from);
+
+ //set the message body
+ var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
+ message.Html = "<p style='color:red';>Hello World</p>";
+ message.Html += "<p>Sent At : " + timestamp + "</p>";
+
+ message.Text = "Hello World plain text";
+
+ //set the message subject
+ message.Subject = "Hello World Bypass List Management Test";
+
+ //create an instance of the SMTP transport mechanism
+ var transportInstance = SMTP.GetInstance(new NetworkCredential(_username, _password));
+
+ //enable bypass list management
+ message.EnableBypassListManagement();
+
+ //send the mail
+ transportInstance.Deliver(message);
}
}