{"id":920,"date":"2018-08-18T17:14:52","date_gmt":"2018-08-18T17:14:52","guid":{"rendered":"http:\/\/www.netexl.com\/blog\/?p=920"},"modified":"2026-04-02T09:51:04","modified_gmt":"2026-04-02T09:51:04","slug":"send-email-from-godaddy-asp-net-application","status":"publish","type":"post","link":"https:\/\/www.netexl.com\/blog\/send-email-from-godaddy-asp-net-application\/","title":{"rendered":"Send Email from GoDaddy Asp.Net Application"},"content":{"rendered":"<p>In my <a href=\"https:\/\/www.netexl.com\/blog\/send-email-from-godaddy-asp-net-application-using-google-smtp\/\" target=\"_blank\">previous article<\/a> we looked at how to use Google account and SMTP server\u00a0to programatically send mail to an email address. We can use the same code with minor changes for GoDaddy application which is\u00a0using shared hosting. We will develop a &#8220;Contact us&#8221; page here using SMTP server from GoDaddy.<\/p>\n<p>The first step is to create a web service<\/p>\n<pre class=\"lang:default decode:true\">using System;\r\nusing System.Configuration;\r\nusing System.Net.Mail;\r\nusing System.Web.Services;\r\n\r\nnamespace GoDaddy.Email\r\n{\r\n    \/\/\/ &lt;summary&gt;\r\n    \/\/\/ Summary description for Mail\r\n    \/\/\/ &lt;\/summary&gt;\r\n    [WebService(Namespace = \"http:\/\/tempuri.org\/\")]\r\n    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]\r\n    [System.ComponentModel.ToolboxItem(false)]\r\n    \/\/ To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. \r\n    [System.Web.Script.Services.ScriptService]\r\n    public class Mail : System.Web.Services.WebService\r\n    {\r\n        [WebMethod]\r\n        public string SendEmail(string email, string name, string body)\r\n        {\r\n            try\r\n            {\r\n                var toEmailAddress = ConfigurationManager.AppSettings[\"ToEmailAddress\"].ToString();\r\n                var smtpHost = ConfigurationManager.AppSettings[\"SMTPHost\"].ToString();\r\n                var smtpPort = ConfigurationManager.AppSettings[\"SMTPPort\"].ToString();\r\n\r\n                MailMessage mailMessage = new MailMessage();\r\n                mailMessage.To.Add(toEmailAddress);\r\n                mailMessage.From = new MailAddress(email, name);\r\n                mailMessage.Subject = \"Contact Us\";\r\n                mailMessage.Body = body;\r\n                SmtpClient smtpClient = new SmtpClient(smtpHost, Convert.ToInt32(smtpPort));\r\n\r\n                smtpClient.Send(mailMessage);\r\n                return \"Success\";\r\n            }\r\n            catch (Exception ex)\r\n            {\r\n                return ex.Message;\r\n            }\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>The app settings are as following<\/p>\n<pre class=\"lang:default decode:true\">  &lt;appSettings&gt;\r\n    &lt;add key=\"ToEmailAddress\" value=\"contact@yourdomain.com\"\/&gt;\r\n    &lt;add key=\"SMTPHost\" value=\"relay-hosting.secureserver.net\"\/&gt;\r\n    &lt;add key=\"SMTPPort\" value=\"25\"\/&gt;\r\n  &lt;\/appSettings&gt;<\/pre>\n<p>The HTML page code for the contact us page is as following<\/p>\n<pre class=\"lang:default decode:true\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;title&gt;Send Email&lt;\/title&gt;\r\n\t&lt;meta charset=\"utf-8\" \/&gt;\r\n    &lt;link rel=\"stylesheet\" href=\"css\/style.css\" \/&gt;\r\n    &lt;script src=\"js\/jquery.min.js\"&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n    &lt;div id=\"contact-area\"&gt;\r\n        &lt;div&gt;\r\n            &lt;label&gt;Email:&lt;\/label&gt;\r\n            &lt;input id=\"email\" type=\"email\" maxlength=\"50\" \/&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div&gt;\r\n            &lt;label&gt;Name:&lt;\/label&gt;\r\n            &lt;input id=\"name\" type=\"text\" maxlength=\"50\" \/&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div&gt;\r\n            &lt;label&gt;Message:&lt;\/label&gt;\r\n            &lt;textarea id=\"message\" type=\"text\" rows=\"5\" cols=\"50\" maxlength=\"1000\"&gt;&lt;\/textarea&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div&gt;\r\n            &lt;input id=\"btnSend\" type=\"button\" name=\"Send\" value=\"Send\" class=\"submit-button\"\/&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div id=\"error\" class=\"error\"&gt;&lt;\/div&gt;\r\n        &lt;div id=\"success\" class=\"success\"&gt;&lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Now add the java script code as following in our HTML<\/p>\n<pre class=\"lang:default decode:true\">    &lt;script type=\"text\/javascript\"&gt;\r\n        function isValidEmail(email) {\r\n            var pattern = \/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\\.([a-zA-Z])+([a-zA-Z])+\/;\r\n            return pattern.test(email);\r\n        }\r\n\r\n        function validate() {\r\n            var isValid = false;\r\n            var email = $('#email').val();\r\n            if (isValidEmail(email)) {\r\n                var name = $('#name').val();\r\n                var message = $('#message').val();\r\n                if (name === '' || message === '') {\r\n                    $('#error').html(\"Name or Message cannot be blank\");\r\n                } else {\r\n                    isValid = true;\r\n                }\r\n            } else {\r\n                $('#error').html(\"Invalid Email\");\r\n            }\r\n            return isValid;\r\n        }\r\n\r\n        function sendMail() {\r\n            $('#btnSend').prop('disabled', true);\r\n            $('#success').html(\"\");\r\n            $('#error').html(\"\");\r\n            if (validate()) {\r\n                var email = $('#email').val();\r\n                var name = $('#name').val();\r\n                var body = $('#message').val();\r\n\r\n                var param = \"{'email':\" + JSON.stringify(email) + \", 'name':\" + JSON.stringify(name) + \", 'body':\" + JSON.stringify(body) + \"}\"; \/\/JSON.stringify(mail);\r\n\r\n                $.ajax({\r\n                    type: \"POST\",\r\n                    url: \"\/Mail.asmx\/SendEmail\",\r\n                    contentType: \"application\/json; charset=utf-8\",\r\n                    data: param,\r\n                    dataType: \"json\",\r\n                    success: function (response) {\r\n                        var data = response.d;\r\n                        if (data != 'Success') {\r\n                            $('#error').html(data);\r\n                        } else {\r\n                            $('#success').html(\"Mail sent\");\r\n                        }\r\n                        $('#btnSend').prop('disabled', false);\r\n                    },\r\n                    failure: function (response) {\r\n                        alert(response.d);\r\n                        $('#btnSend').prop('disabled', false);\r\n                    }\r\n                });\r\n            } else {\r\n                $('#btnSend').prop('disabled', false);\r\n            }\r\n        }\r\n\r\n        document.getElementById(\"btnSend\").addEventListener(\"click\", sendMail);\r\n    &lt;\/script&gt;<\/pre>\n<p>The complete code can be downloaded from <a href=\"https:\/\/github.com\/ngdevr\/AspNetMail\" target=\"_blank\">here<\/a>.<\/p>\n<p>Be aware that if you are\u00a0setting email address entered by the user in the &#8220;from&#8221; address while sending the email, it\u00a0may end up in SPAM folder of your mailbox. Alternatively you can use &#8220;from&#8221; and &#8220;to&#8221;addresses from your application domain itself and append user&#8217;s email address in the mail body.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my previous article we looked at how to use Google account and SMTP server\u00a0to programatically send mail to an email address. We can use the same code with minor changes for GoDaddy application which is\u00a0using shared hosting. We will develop a &#8220;Contact us&#8221; page here using SMTP server from GoDaddy. The first step is to create a web service using System; using System.Configuration; using System.Net.Mail; using System.Web.Services; namespace GoDaddy.Email { \/\/\/ &lt;summary&gt; \/\/\/ Summary description for Mail \/\/\/ &lt;\/summary&gt; [WebService(Namespace = &#8220;http:\/\/tempuri.org\/&#8221;)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] \/\/ To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. [System.Web.Script.Services.ScriptService] public class Mail : System.Web.Services.WebService { [WebMethod] public string SendEmail(string email, string name, string body) { try { var toEmailAddress = ConfigurationManager.AppSettings[&#8220;ToEmailAddress&#8221;].ToString(); var smtpHost = ConfigurationManager.AppSettings[&#8220;SMTPHost&#8221;].ToString(); var smtpPort = ConfigurationManager.AppSettings[&#8220;SMTPPort&#8221;].ToString(); MailMessage mailMessage = new MailMessage(); mailMessage.To.Add(toEmailAddress); mailMessage.From = new MailAddress(email, name); mailMessage.Subject = &#8220;Contact[&#8230;]<\/p>\n","protected":false},"author":5,"featured_media":1539,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,14,24,17],"tags":[],"class_list":["post-920","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net","category-how-to","category-javascript","category-jquery"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/posts\/920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/comments?post=920"}],"version-history":[{"count":1,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/posts\/920\/revisions"}],"predecessor-version":[{"id":921,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/posts\/920\/revisions\/921"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/media\/1539"}],"wp:attachment":[{"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/media?parent=920"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/categories?post=920"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.netexl.com\/blog\/wp-json\/wp\/v2\/tags?post=920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}