{"id":1339,"date":"2010-10-25T17:33:15","date_gmt":"2010-10-25T15:33:15","guid":{"rendered":"http:\/\/www.limilabs.com\/blog\/?p=1339"},"modified":"2019-04-16T17:33:44","modified_gmt":"2019-04-16T15:33:44","slug":"send-email","status":"publish","type":"post","link":"https:\/\/www.limilabs.com\/blog\/send-email","title":{"rendered":"Send email"},"content":{"rendered":"<p>This article describes how to create and send email message using Mail.dll <a href=\"\/mail\">.NET email library<\/a>.<\/p>\n<p>As a prerequisite you need to <strong>add reference to Mail.dll<\/strong> to your project. Please check MSDN <a href=\"https:\/\/docs.microsoft.com\/en-us\/visualstudio\/ide\/how-to-add-or-remove-references-by-using-the-reference-manager\" rel=\"nofollow\">how to add reference<\/a> article for details.<\/p>\n<p>When your reference is added you need to <strong>import appropriate namespaces<\/strong> both for email handling and SMTP component:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\/\/ C#\r\n\r\nusing Limilabs.Mail;\r\nusing Limilabs.Mail.Headers;\r\nusing Limilabs.Client.SMTP;\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\n' VB\r\n\r\nImports Limilabs.Mail\r\nImports Limilabs.Mail.Headers\r\nImports Limilabs.Client.SMTP\r\n<\/pre>\n<p>First thing you need to do is to <strong>create email message<\/strong>. You can use <strong>MailBuilder<\/strong> class for that. We&#8217;ll add add from and to addresses, set subject and plain text email content. We could also set Html property to <a href=\"\/blog\/send-html-email\">create HTML email<\/a>. Mail.dll automatically generates Message-ID and Date headers.<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\/\/ C#\r\n\r\nMailBuilder builder = new MailBuilder();\r\nbuilder.From.Add(new MailBox(&quot;alice@mail.com&quot;, &quot;Alice&quot;));\r\nbuilder.To.Add(new MailBox(&quot;bob@mail.com&quot;, &quot;Bob&quot;));\r\nbuilder.Subject = &quot;Test&quot;;\r\nbuilder.Text = &quot;This is plain text message.&quot;;\r\n\r\nIMail email = builder.Create();\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\n' VB\r\n\r\nDim builder As New MailBuilder()\r\nbuilder.From.Add(New MailBox(&quot;alice@mail.com&quot;, &quot;Alice&quot;))\r\nbuilder.&#x5B;To].Add(New MailBox(&quot;bob@mail.com&quot;, &quot;Bob&quot;))\r\nbuilder.Subject = &quot;Test&quot;\r\nbuilder.Text = &quot;This is plain text message.&quot;\r\n<\/pre>\n<p>Next step is to connect to your SMTP server and <strong>send your message<\/strong>. Use <em>Connect(string host)<\/em> method to establish connection. Typically SMTP server is working on port 587. You can use <em>Connect(string host, int port)<\/em> overload when you need to specify different port (for example 25). If your server requires SSL use <em>ConnectSSL <\/em>method (Here you can find more info on <a href=\"\/blog\/use-ssl-with-smtp\">using SMTP with SSL<\/a>).<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\/\/ C#\r\n\r\nusing (Smtp smtp = new Smtp())\r\n{\r\n    smtp.Connect(&quot;server.example.com&quot;);    \/\/ or ConnectSSL for SSL\r\n    smtp.UseBestLogin(&quot;user&quot;, &quot;password&quot;); \/\/ remove if authentication is not needed\r\n\r\n    ISendMessageResult result = smtp.SendMessage(email);\r\n    if (result.Status == SendMessageStatus.Success)\r\n    {\r\n        \/\/ Message was sent.\r\n    }\r\n\r\n    smtp.Close();\r\n}\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\n' VB\r\n\r\nUsing smtp As New Smtp()\r\n    smtp.Connect(&quot;server.example.com&quot;)      ' or ConnectSSL for SSL\r\n    smtp.UseBestLogin(&quot;user&quot;, &quot;password&quot;)   ' remove if authentication is not needed\r\n\r\n    Dim result As ISendMessageResult = smtp.SendMessage(email)\r\n\r\n    If result.Status = SendMessageStatus.Success Then\r\n        ' Message was sent.        \r\n    End If\r\n\r\n    smtp.Close()\r\nEnd Using\r\n<\/pre>\n<p>Here are the full samples:<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\/\/ C# version\r\n\r\nusing Limilabs.Mail;\r\nusing Limilabs.Mail.Headers;\r\nusing Limilabs.Client.SMTP;\r\n\r\nclass Program\r\n{\r\n    static void Main(string&#x5B;] args)\r\n    {\r\n        \/\/ Use builder class to create new email\r\n        MailBuilder builder = new MailBuilder();\r\n        builder.From.Add(new MailBox(&quot;alice@mail.com&quot;, &quot;Alice&quot;));\r\n        builder.To.Add(new MailBox(&quot;bob@mail.com&quot;, &quot;Bob&quot;));\r\n        builder.Subject = &quot;Test&quot;;\r\n        builder.Text = &quot;This is plain text message.&quot;;\r\n\r\n        IMail email = builder.Create();\r\n\r\n        \/\/ Send the message\r\n        using (Smtp smtp = new Smtp())\r\n        {\r\n            smtp.Connect(&quot;server.example.com&quot;);    \/\/ or ConnectSSL for SSL\r\n            smtp.UseBestLogin(&quot;user&quot;, &quot;password&quot;); \/\/ remove if not needed\r\n\r\n            ISendMessageResult result = smtp.SendMessage(email);\r\n            if (result.Status == SendMessageStatus.Success)\r\n            {\r\n                \/\/ Message was sent.\r\n            }\r\n\r\n            smtp.Close();\r\n        }\r\n    }\r\n};\r\n<\/pre>\n<pre class=\"brush: vb; title: ; notranslate\" title=\"\">\r\n' VB.NET version\r\n\r\nImports Limilabs.Mail\r\nImports Limilabs.Mail.Headers\r\nImports Limilabs.Client.SMTP\r\n\r\nPublic Module Module1\r\n    Public Sub Main(ByVal args As String())\r\n\r\n        ' Use builder class to create new email\r\n        Dim builder As New MailBuilder()\r\n        builder.From.Add(New MailBox(&quot;alice@mail.com&quot;, &quot;Alice&quot;))\r\n        builder.&#x5B;To].Add(New MailBox(&quot;bob@mail.com&quot;, &quot;Bob&quot;))\r\n        builder.Subject = &quot;Test&quot;\r\n        builder.Text = &quot;This is plain text message.&quot;\r\n\r\n        Dim email As IMail = builder.Create()\r\n\r\n        ' Send the message\r\n        Using smtp As New Smtp()\r\n            smtp.Connect(&quot;server.example.com&quot;)      ' or ConnectSSL for SSL\r\n            smtp.UseBestLogin(&quot;user&quot;, &quot;password&quot;)   ' remove if not needed\r\n\r\n            Dim result As ISendMessageResult = smtp.SendMessage(email)\r\n\r\n            If result.Status = SendMessageStatus.Success Then\r\n                ' Message was sent.        \r\n            End If\r\n\r\n            smtp.Close()\r\n        End Using\r\n\r\n    End Sub\r\nEnd Module\r\n<\/pre>\n<p>Please note that some error handling is missing for simplicity and you should examine <em>ISendMessageResult<\/em> result object returned by <em>SendMessage <\/em> method to be sure that email sending was successful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article describes how to create and send email message using Mail.dll .NET email library. As a prerequisite you need to add reference to Mail.dll to your project. Please check MSDN how to add reference article for details. When your reference is added you need to import appropriate namespaces both for email handling and SMTP [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[15,33,50,57],"class_list":["post-1339","post","type-post","status-publish","format-standard","hentry","category-mail-dll","tag-c","tag-email-component","tag-smtp","tag-vb-net"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/posts\/1339"}],"collection":[{"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/comments?post=1339"}],"version-history":[{"count":8,"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/posts\/1339\/revisions"}],"predecessor-version":[{"id":5495,"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/posts\/1339\/revisions\/5495"}],"wp:attachment":[{"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/media?parent=1339"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/categories?post=1339"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.limilabs.com\/blog\/wp-json\/wp\/v2\/tags?post=1339"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}