summaryrefslogtreecommitdiffstats
path: root/SendGrid/Example/RESTAPI.cs
blob: f02ea3fc44ca181cfef9cfe67c3d3730ea30f472 (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
using System;
using System.Linq;
using System.Collections.Generic;
using System.Net;
using System.Net.Mail;
using SendGridMail;
using SendGridMail.Transport;

namespace Example
{
    class RESTAPI
    {
        private String _username;
        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)
        {
            _username = username;
            _password = password;
            _from = from;
            _to = recipients;
            _bcc = bcc;
            _cc = cc;
        }

        public void SimpleHTMLEmail()
        {
            //create a new message object
            var message = SendGrid.GenerateInstance();

            //set the message recipients

            if(_to != null)
            {
                foreach (String recipient in _to)
                {
                    message.AddTo(recipient);
                }
            }


            if(_bcc != null)
            {
                foreach (String blindcc in _bcc)
                {
                    message.AddBcc(blindcc);
                }
            }
            
            if(_cc != null)
            {
                foreach (String cc in _cc)
                {
                    message.AddCc(cc);
                }
            }

            var headers = new Dictionary<String, String>
                {
                    {"key1", "value1"}, 
                    {"key2", "value2"}, 
                    {"icanhazcheeze", "kthnxbye"}
                };

            message.AddHeaders(headers);

            //var replyTo = new List<MailAddress> { new MailAddress("tyler.bischel@sendgrid.com") };

            //message.ReplyTo = replyTo.ToArray();

            //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";

            //Utils.PrepareAttachments();

            //create an instance of the SMTP transport mechanism
            var restInstance = REST.GetInstance(new NetworkCredential(_username, _password));

            //send the mail
            restInstance.Deliver(message);
        }
    }
}