c# - Unable to send email in web form -
i trying send email website has fields name,email,category,subject , message using c# asp.net.my requirement when user clicks on send button email send given mail address.i explaining code below.
contact.aspx:
<form id="form1" class="contactformdetils" runat="server" > <fieldset> <div class="clearfix"> <div class="input"> <label>your name:</label> <asp:textbox id="txtname" name="name" runat="server" ></asp:textbox> </div> <div class="input"> <label>your email:</label> <asp:textbox id="txtemail" runat="server" name="email"></asp:textbox> </div> </div> <div class="clearfix"> <div class="input"> <label>category:</label> <asp:textbox id="txtcategory" runat="server" name="category"></asp:textbox> </div> <div class="input"> <label>subject:</label> <asp:textbox id="txtsubject" runat="server" name="subject"></asp:textbox> </div> </div> <label>message:</label> <asp:textbox id="txtmessage" runat="server" name="message" rows="6" textmode="multiline"></asp:textbox> <div class="clearfix captcha"> <asp:button runat="server" text="send message" class="button" id="email_submit" onclick="email_submit_click" /> <div class="captcha-wrapper"> <asp:label id="lblresult" runat="server" visible="false" /> </div> </div> </fieldset> </form>
contact.aspx.cs:
protected void email_submit_click(object sender, eventargs e) { if (txtname.text == "") { lblresult.visible = true; lblresult.text = "name field should not keep blank"; lblresult.forecolor = system.drawing.color.red; return; } if (txtemail.text == "") { lblresult.visible = true; lblresult.text = "email field should not keep blank"; lblresult.forecolor = system.drawing.color.red; return; } if (txtcategory.text == "") { lblresult.visible = true; lblresult.text = "catagory field should not keep blank"; lblresult.forecolor = system.drawing.color.red; return; } if (txtsubject.text == "") { lblresult.visible = true; lblresult.text = "subject field should not keep blank"; lblresult.forecolor = system.drawing.color.red; return; } if (txtmessage.text == "") { lblresult.visible = true; lblresult.text = "message field should not keep blank"; lblresult.forecolor = system.drawing.color.red; return; } bool isemail = regex.ismatch(txtemail.text.trim(), @"\a(?:[a-za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-za-z0-9](?:[a-za-z0-9-]*[a-za-z0-9])?\.)+[a-za-z0-9](?:[a-za-z0-9-]*[a-za-z0-9])?)\z"); if (!isemail) { lblresult.visible = true; lblresult.text = "enter valid email id.."; lblresult.forecolor = system.drawing.color.red; return; } if (txtname.text.trim().length > 0 && txtemail.text.trim().length > 0 && txtcategory.text.trim().length > 0 && txtsubject.text.trim().length > 0 && txtmessage.text.trim().length > 0 ) { smtpclient smtpclient = new smtpclient(); mailmessage message = new mailmessage(); try { mailaddress fromaddress = new mailaddress(txtemail.text, txtname.text); smtpclient.host = "localhost"; smtpclient.port = 25; message.from = fromaddress; message.to.add("*********@gmail.com"); message.subject = txtsubject.text; message.isbodyhtml = false; message.body = txtmessage.text; smtpclient.send(message); lblresult.visible = true; lblresult.text = "email sent."; } catch (exception ex) { lblresult.visible = true; lblresult.text = "send email failed.<br>" + ex.message; } } }
when user clicks on send button mail shall send email address typed on form.
this due port number. had similar issue once. try using port
587 or 465
smtpclient.port = 587;
or
smtpclient.port = 465;
it should work fine. try other port numbers if don't work.
Comments
Post a Comment