You are here:   Articles
Register   |  Login

Programming Articles

Minimize
10

Below is an asp.net page to test your email smtp settings on your web server.

This is useful for making sure you can send email from your web server to your smtp server of choice.

You should be able to copy this code directly into a file, say emailtest.aspx and put on your web server. You can then go to this page and test different email settings.


<%@ Page Language="C#"

AutoEventWireup="false"

Inherits="System.Web.UI.Page"

Title="Send Email"

%>

<%@ Import Namespace="System.Net" %>

<%@ Import Namespace="System.Net.Mail" %>

<script runat="server">

//-----------------------------------------------

// Copyright 2008 to present by Bronze Inc.

// Visit www.Programmer.bz

// You may use and modify this code anyway you like

// as long as you keep this copyright notice in the file.

// You may add your own copyright to your modifications.

//-----------------------------------------------

protected void Button_Send_Click(object sender, EventArgs e)

{

//----- Mail address

MailAddress emailfrom = new MailAddress(Text_From_Email.Text);

//----- Mail object

MailMessage mm = new MailMessage();

mm.Body = Text_Body.Text;

mm.From = emailfrom;

mm.Sender = emailfrom;

mm.Subject = Text_Subject.Text;

mm.To.Add(Text_To.Text);

//----- Sending object

SmtpClient smtp = new SmtpClient();

smtp.Host = Text_Host.Text;

smtp.Port = 25;

//----- Delivery Method

if (Delivery_Method2.Checked) smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

else if (Delivery_Method2.Checked)

{

smtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;

smtp.PickupDirectoryLocation = Delivery_Folder.Text;

}

else smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

//----- Credentials

string password = Text_Host_Password.Text;

string username = Text_Host_Username.Text;

if (string.IsNullOrEmpty(username)) smtp.UseDefaultCredentials = true;

else

{

smtp.Credentials = new NetworkCredential(username, password);

smtp.UseDefaultCredentials = false;

}

//----- Send

StringBuilder sberror = new StringBuilder();

try

{

smtp.Send(mm);

}

catch (SmtpFailedRecipientsException ex)

{

for (int i = 0; i < ex.InnerExceptions.Length; i++)

{

SmtpStatusCode status = ex.InnerExceptions[i].StatusCode;

if (status == SmtpStatusCode.MailboxBusy ||

status == SmtpStatusCode.MailboxUnavailable)

{

sberror.Append("Mailbox busy or unavailable");

}

else

{

sberror.Append("Failed to deliver message to "

+ ex.InnerExceptions[i].FailedRecipient);

}

}

}

catch (SmtpException ex)

{

sberror.Append(ex.Message);

}

if (sberror.Length > 0) Label_Message.Text = "11111: " + sberror.ToString();

else Label_Message.Text = "Message sent, hopefully";

}

//-----------------------------------------------

</script>

<html><head></head><body>

<form runat="server">

<asp:Label ID="Label_Message" runat="server" Text="" EnableViewState="false" />

<div class="form">

<asp:Button ID="Button_Send_1" runat="server" Text="Send" EnableViewState="false"

onclick="Button_Send_Click" />

<table cellspacing="0" cellpadding="3" class="form">

<tr class="form">

<td class="form_prompt">Email Host:</td>

<td runat="server">

<asp:TextBox ID="Text_Host" runat="server" Columns="60" MaxLength="120" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">Email Host Username:</td>

<td>

<asp:TextBox ID="Text_Host_Username" runat="server" Columns="60" MaxLength="120" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">Email Host Password:</td>

<td>

<asp:TextBox ID="Text_Host_Password" runat="server" Columns="60" MaxLength="120" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">From Email:</td>

<td>

<asp:TextBox ID="Text_From_Email" runat="server" Columns="60" MaxLength="120" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">To:</td>

<td>

<asp:TextBox ID="Text_To" runat="server" Columns="60" MaxLength="2000" Rows="2" TextMode="MultiLine" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">Subject:</td>

<td>

<asp:TextBox ID="Text_Subject" runat="server" Columns="60" MaxLength="120" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">Body:</td>

<td>

<asp:TextBox ID="Text_Body" runat="server" Columns="60" MaxLength="10000" TextMode="MultiLine" Rows="15" EnableViewState="false"></asp:TextBox>

</td>

</tr>

<tr class="form">

<td class="form_prompt">Delivery:</td>

<td>

<asp:RadioButton ID="Delivery_Method1" GroupName="Delivery_Method" Checked Text="Network" runat="server" EnableViewState="false" />

<asp:RadioButton ID="Delivery_Method2" GroupName="Delivery_Method" Text="IIS Folder" runat="server" EnableViewState="false" />

<asp:RadioButton ID="Delivery_Method3" GroupName="Delivery_Method" Text="Specify Folder" runat="server" EnableViewState="false" />

<br />

<asp:TextBox ID="Delivery_Folder" runat="server" Columns="60" MaxLength="2000" Rows="2" TextMode="MultiLine" EnableViewState="false"></asp:TextBox>

</td>

</tr>

</table>

<asp:Button ID="Button_Send_2" runat="server" Text="Send" EnableViewState="false"

onclick="Button_Send_Click" />

</div>

<p>Copyright 2008 to present by Bronze Inc. Visit <a href="http://www.programmer.bz">Programmer.bz</a>.</p>

</form>

</body></html>


By Andrew Weitzen, Bronze Inc. (c) 2010

Bronze is the publisher of several online Internet journals including: InternetHandholding.com, DomainNames.gs, DotNetNuke.bz, Programmer.bz, Software.vg, WebHosting.vg

Posted in: Asp.net

Post Rating

Comments

cihip
Tuesday, September 07, 2010 8:29 AM
How to Test Email Settings Page Code for Asp.net C Sharp (C#) post for thanx

Post Comment

Name (required)

Email (required)

Website

Programmer Newsletter

Minimize

Subscribe to the Internet Handholding newsletter



Reccomend Programmer.bz

Minimize

Share/Bookmark Bookmark and Share