Essa é uma dica para quem não possui um servidor SMTP para o envio dos e-mails, e precisa implementar um formulário em sua página de contato.
Abaixo um formulário simples de e-mail em ASP.NET/C# usando uma conta do gmail.
contato.aspx
<div>
<table>
<tr>
<td>
Nome:
</td>
<td>
<asp:TextBox ID="txtName" runat="server" />
</td>
</tr>
<tr>
<td>
e-mail:
</td>
<td>
<asp:TextBox ID="txtEmail" runat="server" />
</td>
</tr>
<tr>
<td colspan="2">
Mensagem:<br />
<asp:TextBox ID="txtMessage" runat="server"
TextMode="MultiLine" Height="180px" />
</td>
</tr>
</table>
</div>
<div>
<asp:Button ID="btnSend" runat="server"
Text="Enviar" onclick="btnSend_Click" />
</div>
contato.aspx.cs
using System.Net.Mail;
protected void btnSend_Click(object sender, EventArgs e)
{
string sUserName = "[email protected]"; //Login
string sPassword = "senha"; //Senha
string sBody = "Mensagem:\n\n" +
"Nome: " + txtName.Text + "\n" +
"email: " + txtEmail.Text + "\n" +
"Mensagem: " + txtMessage.Text + "\n\n";
MailMessage objEmail = new MailMessage();
objEmail.To.Add(sUserName);
objEmail.From = new MailAddress(txtEmail.Text.Trim());
objEmail.Subject = "Título da mensagem";
objEmail.Body = sBody;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtp.gmail.com"; //Servidor
smtp.Credentials = new System.Net.NetworkCredential(sUserName, sPassword);
smtp.EnableSsl = true;
smtp.Send(objEmail);
//Redireciona para a página que mostra a mensagem: "e-mail foi enviado".
Response.Redirect(Request.Url.AbsolutePath + "?acao=enviado");
}