blob: b46520b56d3b150defc8618b0b53a6104ab65b9b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
|
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Mail;
using SendGridMail;
using SendGridMail.Transport;
namespace Example
{
class SMTPAPI
{
private String _username;
private String _password;
private String _from;
private IEnumerable<string> _to;
public SMTPAPI(String username, String password, String from, IEnumerable<string> recipients)
{
_username = username;
_password = password;
_from = from;
_to = recipients;
}
/// <summary>
/// Send a simple HTML based email
/// </summary>
public void SimpleHTMLEmail()
{
//create a new message object
var message = SendGrid.GenerateInstance();
//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 Simple Test";
//create an instance of the SMTP transport mechanism
var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
//send the mail
smtpInstance.Deliver(message);
}
/// <summary>
/// Send a simple Plain Text email
/// </summary>
public void SimplePlaintextEmail()
{
//create a new message object
var message = SendGrid.GenerateInstance();
//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 Simple Test";
//create an instance of the SMTP transport mechanism
var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
//send the mail
smtpInstance.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/
/// </summary>
public void EnableGravatarEmail()
{
//create a new message object
var message = SendGrid.GenerateInstance();
//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 = "<p style='color:red';>Hello World Gravatar Email</p>";
//set the message subject
message.Subject = "Hello World Gravatar Test";
//create an instance of the SMTP transport mechanism
var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
//enable gravatar
message.EnableGravatar();
//send the mail
smtpInstance.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()
{
var header = new Header();
//create a new message object
var message = SendGrid.GenerateInstance();
//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 = "<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 SMTP transport mechanism
var smtpInstance = SMTP.GenerateInstance(new NetworkCredential(_username, _password));
//enable gravatar
message.EnableOpenTracking();
Console.WriteLine(header.AsJson());
//send the mail
smtpInstance.Deliver(message);
Console.WriteLine("done");
}
/// <summary>
/// Enable the Open Tracking to track when emails are opened.
/// http://docs.sendgrid.com/documentation/apps/open-tracking/
/// </summary>
public void EnableClickTrackingEmail()
{
var header = new Header();
//create a new message object
var message = SendGrid.GenerateInstance();
//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 Plain Text</p> <a href = 'http://microsoft.com'>Checkout Microsoft!!</a>";
message.Html += "<p>Sent At : " + timestamp + "</p>";
//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));
//enable clicktracking
message.EnableClickTracking("1");
Console.WriteLine(header.AsJson());
//send the mail
smtpInstance.Deliver(message);
Console.WriteLine("done");
Console.WriteLine("Sent at : "+timestamp);
}
}
}
|