diff options
Diffstat (limited to 'SendGrid/SendGridMail')
-rw-r--r-- | SendGrid/SendGridMail/ISendGrid.cs | 58 | ||||
-rw-r--r-- | SendGrid/SendGridMail/Mail.csproj | 7 | ||||
-rw-r--r-- | SendGrid/SendGridMail/Properties/AssemblyInfo.cs | 4 | ||||
-rw-r--r-- | SendGrid/SendGridMail/SendGrid.cs | 62 | ||||
-rw-r--r-- | SendGrid/SendGridMail/Transport/ITransport.cs | 2 | ||||
-rw-r--r-- | SendGrid/SendGridMail/Transport/Web.cs | 10 | ||||
-rw-r--r-- | SendGrid/SendGridMail/packages.config | 19 |
7 files changed, 39 insertions, 123 deletions
diff --git a/SendGrid/SendGridMail/ISendGrid.cs b/SendGrid/SendGridMail/ISendGrid.cs index 534e644..b487741 100644 --- a/SendGrid/SendGridMail/ISendGrid.cs +++ b/SendGrid/SendGridMail/ISendGrid.cs @@ -2,9 +2,9 @@ using System.Collections.Generic;
using System.IO;
using System.Net.Mail;
-using Smtpapi;
+using SendGrid.SmtpApi;
-namespace SendGridMail
+namespace SendGrid
{
/// <summary>
/// Represents the basic set of functions that will be called by the user
@@ -64,50 +64,6 @@ namespace SendGridMail void AddTo(IDictionary<String, IDictionary<String, String>> addresssInfo);
/// <summary>
- /// Add to the 'CC' address.
- /// </summary>
- /// <param name="address">a single email address eg "you@company.com"</param>
- void AddCc(String address);
-
- /// <summary>
- /// Add to the 'CC' address.
- /// </summary>
- /// <param name="addresses">a list of email addresses as strings</param>
- void AddCc(IEnumerable<String> addresses);
-
- /// <summary>
- /// Add to the 'CC' address.
- /// </summary>
- /// <param name="addresssInfo">
- /// the dictionary keys are the email addresses, which points to a dictionary of
- /// key substitutionValues pairs mapping to other address codes, such as { foo@bar.com => { 'DisplayName' => 'Mr Foo' }
- /// }
- /// </param>
- void AddCc(IDictionary<String, IDictionary<String, String>> addresssInfo);
-
- /// <summary>
- /// Add to the 'Bcc' address.
- /// </summary>
- /// <param name="address">a single email as the input eg "you@company.com"</param>
- void AddBcc(String address);
-
- /// <summary>
- /// Add to the 'Bcc' address.
- /// </summary>
- /// <param name="addresses">a list of emails as an array of strings.</param>
- void AddBcc(IEnumerable<String> addresses);
-
- /// <summary>
- /// Add to the 'Bcc' address.
- /// </summary>
- /// <param name="addresssInfo">
- /// the dictionary keys are the email addresses, which points to a dictionary of
- /// key substitutionValues pairs mapping to other address codes, such as { foo@bar.com => { 'DisplayName' => 'Mr Foo' }
- /// }
- /// </param>
- void AddBcc(IDictionary<String, IDictionary<String, String>> addresssInfo);
-
- /// <summary>
/// Defines a mapping between a replacement string in the text of the message to a list of
/// substitution values to be used, one per each recipient, in the same order as the recipients were added.
/// </summary>
@@ -119,7 +75,7 @@ namespace SendGridMail void AddSubstitution(String replacementTag, List<String> substitutionValues);
/// <summary>
- /// This adds parameters and values that will be bassed back through SendGrid's
+ /// This adds parameters and values that will be bassed back through SendGridMessage's
/// Event API if an event notification is triggered by this email.
/// </summary>
/// <param name="identifiers">parameter substitutionValues pairs to be passed back on event notification</param>
@@ -235,7 +191,7 @@ namespace SendGridMail void EnableOpenTracking();
/// <summary>
- /// Causes all links to be overwritten, shortened, and pointed to SendGrid's servers so clicks will be tracked.
+ /// Causes all links to be overwritten, shortened, and pointed to SendGridMessage's servers so clicks will be tracked.
/// </summary>
/// <param name="includePlainText">true if links found in plain text portions of the message are to be overwritten</param>
void EnableClickTracking(bool includePlainText = false);
@@ -247,18 +203,18 @@ namespace SendGridMail /// Emails with a SpamAssassin score over this substitutionValues will be considered spam and not be
/// delivered.
/// </param>
- /// <param name="url">SendGrid will send an HTTP POST request to this url when a message is detected as spam</param>
+ /// <param name="url">SendGridMessage will send an HTTP POST request to this url when a message is detected as spam</param>
void EnableSpamCheck(int score = 5, String url = null);
/// <summary>
- /// Allow's SendGrid to manage unsubscribes and ensure these users don't get future emails from the sender
+ /// Allow's SendGridMessage to manage unsubscribes and ensure these users don't get future emails from the sender
/// </summary>
/// <param name="text">String for the plain text email body showing what you want the message to look like.</param>
/// <param name="html">String for the HTML email body showing what you want the message to look like.</param>
void EnableUnsubscribe(String text, String html);
/// <summary>
- /// Allow's SendGrid to manage unsubscribes and ensure these users don't get future emails from the sender
+ /// Allow's SendGridMessage to manage unsubscribes and ensure these users don't get future emails from the sender
/// </summary>
/// <param name="replace">Tag in the message body to be replaced with the unsubscribe link and message</param>
void EnableUnsubscribe(String replace);
diff --git a/SendGrid/SendGridMail/Mail.csproj b/SendGrid/SendGridMail/Mail.csproj index 9d3c35f..89a926c 100644 --- a/SendGrid/SendGridMail/Mail.csproj +++ b/SendGrid/SendGridMail/Mail.csproj @@ -8,7 +8,7 @@ <ProjectGuid>{3C687BEF-FF50-44AD-8315-2D4237281AF8}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
- <RootNamespace>SendGridMail</RootNamespace>
+ <RootNamespace>SendGrid</RootNamespace>
<AssemblyName>SendGridMail</AssemblyName>
<FileAlignment>512</FileAlignment>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
@@ -45,8 +45,8 @@ <Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.16\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
</Reference>
- <Reference Include="Smtpapi">
- <HintPath>..\packages\smtpapi.1.0.0\lib\Smtpapi.dll</HintPath>
+ <Reference Include="SendGrid.SmtpApi">
+ <HintPath>..\packages\SendGrid.SmtpApi.1.1.3\lib\net40\SendGrid.SmtpApi.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -76,6 +76,7 @@ <Compile Include="Transport\Web.cs" />
</ItemGroup>
<ItemGroup>
+ <None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
diff --git a/SendGrid/SendGridMail/Properties/AssemblyInfo.cs b/SendGrid/SendGridMail/Properties/AssemblyInfo.cs index f47a2ad..14f014d 100644 --- a/SendGrid/SendGridMail/Properties/AssemblyInfo.cs +++ b/SendGrid/SendGridMail/Properties/AssemblyInfo.cs @@ -7,9 +7,9 @@ using System.Runtime.InteropServices; // associated with an assembly.
[assembly: AssemblyTitle("SendGridMail")]
-[assembly: AssemblyDescription("A client library for interfacing with the SendGrid API")]
+[assembly: AssemblyDescription("A client library for interfacing with the SendGridMessage API")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("SendGrid")]
+[assembly: AssemblyCompany("SendGridMessage")]
[assembly: AssemblyProduct("SendGridMail")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
diff --git a/SendGrid/SendGridMail/SendGrid.cs b/SendGrid/SendGridMail/SendGrid.cs index 3d2c6e2..09aa1fe 100644 --- a/SendGrid/SendGridMail/SendGrid.cs +++ b/SendGrid/SendGridMail/SendGrid.cs @@ -6,11 +6,11 @@ using System.Linq; using System.Net.Mail;
using System.Net.Mime;
using System.Text.RegularExpressions;
-using Smtpapi;
+using SendGrid.SmtpApi;
-namespace SendGridMail
+namespace SendGrid
{
- public class SendGrid : ISendGrid
+ public class SendGridMessage : ISendGrid
{
#region constants/vars
@@ -25,22 +25,22 @@ namespace SendGridMail #region Initialization and Constructors
/// <summary>
- /// Creates an instance of SendGrid's custom message object
+ /// Creates an instance of SendGridMessage's custom message object
/// </summary>
/// <returns></returns>
- public SendGrid() : this(new Header())
+ public SendGridMessage() : this(new Header())
{
}
- public SendGrid(IHeader header)
+ public SendGridMessage(IHeader header)
{
_message = new MailMessage();
Header = header;
Headers = new Dictionary<string, string>();
}
- public SendGrid(MailAddress from, MailAddress[] to, MailAddress[] cc, MailAddress[] bcc,
+ public SendGridMessage(MailAddress from, MailAddress[] to, MailAddress[] cc, MailAddress[] bcc,
String subject, String html, String text, IHeader header = null) : this(header)
{
From = from;
@@ -175,53 +175,7 @@ namespace SendGridMail }
}
- public void AddCc(String address)
- {
- var mailAddress = new MailAddress(address);
- _message.CC.Add(mailAddress);
- }
-
- public void AddCc(IEnumerable<String> addresses)
- {
- if (addresses == null) return;
- foreach (var address in addresses.Where(address => address != null))
- {
- AddCc(address);
- }
- }
-
- public void AddCc(IDictionary<String, IDictionary<String, String>> addresssInfo)
- {
- foreach (var mailAddress in from address in addresssInfo.Keys let table = addresssInfo[address] select new MailAddress(address, table.ContainsKey("DisplayName") ? table["DisplayName"] : null))
- {
- _message.CC.Add(mailAddress);
- }
- }
-
- public void AddBcc(String address)
- {
- var mailAddress = new MailAddress(address);
- _message.Bcc.Add(mailAddress);
- }
-
- public void AddBcc(IEnumerable<String> addresses)
- {
- if (addresses == null) return;
- foreach (var address in addresses.Where(address => address != null))
- {
- AddBcc(address);
- }
- }
-
- public void AddBcc(IDictionary<String, IDictionary<String, String>> addresssInfo)
- {
- foreach (var mailAddress in from address in addresssInfo.Keys let table = addresssInfo[address] select new MailAddress(address, table.ContainsKey("DisplayName") ? table["DisplayName"] : null))
- {
- _message.Bcc.Add(mailAddress);
- }
- }
-
- public Dictionary<String, MemoryStream> StreamedAttachments
+ public Dictionary<String, MemoryStream> StreamedAttachments
{
get { return _streamedAttachments; }
set { _streamedAttachments = value; }
diff --git a/SendGrid/SendGridMail/Transport/ITransport.cs b/SendGrid/SendGridMail/Transport/ITransport.cs index 99b620c..8de134c 100644 --- a/SendGrid/SendGridMail/Transport/ITransport.cs +++ b/SendGrid/SendGridMail/Transport/ITransport.cs @@ -1,4 +1,4 @@ -namespace SendGridMail
+namespace SendGrid
{
/// <summary>
/// Encapsulates the transport mechanism so that it can be used in a generic way,
diff --git a/SendGrid/SendGridMail/Transport/Web.cs b/SendGrid/SendGridMail/Transport/Web.cs index 7bb8e58..615ac00 100644 --- a/SendGrid/SendGridMail/Transport/Web.cs +++ b/SendGrid/SendGridMail/Transport/Web.cs @@ -7,10 +7,10 @@ using System.Net.Http; using System.Net.Http.Headers;
using System.Threading.Tasks;
using System.Xml;
-using Smtpapi;
+using SendGrid.SmtpApi;
// ReSharper disable MemberCanBePrivate.Global
-namespace SendGridMail
+namespace SendGrid
{
public class Web : ITransport
{
@@ -27,7 +27,7 @@ namespace SendGridMail /// <summary>
/// Creates a new Web interface for sending mail. Preference is using the Factory method.
/// </summary>
- /// <param name="credentials">SendGrid user parameters</param>
+ /// <param name="credentials">SendGridMessage user parameters</param>
/// <param name="https">Use https?</param>
public Web(NetworkCredential credentials)
{
@@ -35,7 +35,7 @@ namespace SendGridMail }
/// <summary>
- /// Delivers a message over SendGrid's Web interface
+ /// Delivers a message over SendGridMessage's Web interface
/// </summary>
/// <param name="message"></param>
public void Deliver(ISendGrid message)
@@ -53,7 +53,7 @@ namespace SendGridMail }
/// <summary>
- /// Asynchronously delivers a message over SendGrid's Web interface
+ /// Asynchronously delivers a message over SendGridMessage's Web interface
/// </summary>
/// <param name="message"></param>
public async void DeliverAsync(ISendGrid message)
diff --git a/SendGrid/SendGridMail/packages.config b/SendGrid/SendGridMail/packages.config index 0470bc3..8ff7b73 100644 --- a/SendGrid/SendGridMail/packages.config +++ b/SendGrid/SendGridMail/packages.config @@ -1,9 +1,14 @@ <?xml version="1.0" encoding="utf-8"?>
-<packages>
- <package id="Microsoft.Bcl" version="1.0.19" targetFramework="net40" />
- <package id="Microsoft.Bcl.Async" version="1.0.16" targetFramework="net40" />
- <package id="Microsoft.Bcl.Build" version="1.0.10" targetFramework="net40" />
- <package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" />
- <package id="smtpapi" version="1.0.0" targetFramework="net40" />
-</packages>
\ No newline at end of file +<dependencies>
+ <group targetFramework="net40">
+ <dependency id="Microsoft.Bcl" version="1.1.6" />
+ <dependency id="Microsoft.Bcl.Build" version="1.0.13" />
+ <dependency id="Microsoft.Net.Http" version="2.2.18" />
+ <dependency id="SendGrid.SmtpApi" version="1.1.3" />
+ </group>
+
+ <group targetFramework="net45">
+ <dependency id="SendGrid.SmtpApi" version="1.1.3" />
+ </group>
+</dependencies>
\ No newline at end of file |