Enviando E-Mail com ASP.NET

Uma maneira simples e prática de enviar e-mail com ASP.NET usando o VB, o código está comentado, e bem detalhado para facilitar o entendimento, bom proveito!

Contato.aspx

<%@ Page Language="VB" AutoEventWireup="False" %>
<%@ Import NameSpace="System.Web.Mail" %>
<script src="Contato.vb" runat="server"></script>
<form runat="server">
Preencha o formul&aacute;rio abaixo e aguarde<br>por nossas super promo&ccedil;&otilde;es!
<br><br>
<asp:Label Id="LbMsg" Text="" runat="server" />
<br><br>
<strong>Nome: </strong><br>
<asp:TextBox Id="CmpNome" Columns="25" runat="server" />
<br>
<strong>Assunto: </strong><br>
<asp:TextBox Id="CmpAssunto" Columns="25" runat="server" />
<br>
<strong>Mensagem: </strong><br>
<asp:TextBox Id="CmpMensagem" TextMode="MultiLine" Columns="25" runat="server" />
<br>
<asp:Button Id="BtEnviar" OnClick="BtEnviarMailing" Text="Enviar" runat="server" />
</form>

 

Contato.vb

Sub BtEnviarMailing(Source As Object, E As EventArgs)
	Dim VarMsg, VarCmpNome, VarCmpAssunto, VarCmpMensagem As String
	Dim TedkEmail As New MailMessage
		
		' Recebendo valores do Formulário	
		VarCmpNome = CmpNome.Text
		VarCmpAssunto = CmpAssunto.Text
		VarCmpMensagem = CmpMensagem.Text
	
	'Alimentando a variável da mensagem
	VarMsg += "<strong>Nome: </strong>"+VarCmpNome+"<br><strong>Assunto: </strong>"+VarCmpAssunto+"<br><strong>Mensagem: </strong>"+VarCmpMensagem+"<strong>"
	
	' Configurando e-mails de envio "DE" e "PARA" e o Assunto da Mensagem
	TedkEmail.To = "email@email.com"
	TedkEmail.From = "email@email.com"
	TedkEmail.Subject = "Assunto: "+VarCmpAssunto+""
	TedkEmail.Body = VarMsg
	TedkEmail.BodyFormat = MailFormat.Html 'Formato de Envio, no caso HTML
	
	' Configure o SMTP de Envio
	SmtpMail.SmtpServer = "smtp.servidor.com.br"
	SmtpMail.Send(TedkEmail)
		
		' Limpando os campos do Formulário
		CmpNome.Text = ""
		CmpEmail.Text = ""
		CmpEndereco.Text = ""
		CmpDia.Text = ""
		CmpMes.Text = ""
	
	' Mensagem que será postada na pagina inicial
	LbMsg.Text = "Mensagem Enviada com Sucesso!"
End Sub

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

Usando a Tag asp:xml ASP.NET

Nada como puxar um XML e configurar ele dentro de um XSL com uma linha só de comando, é possível com a tag
Simples é fácil de utilizar, ela você pode chamar um XML puro com o “DocumentSource” ou modelar no XSL com o “TransformSource”

OBS: Não irei dizer detalhes do XSL pois estou fazendo referências ao ASP.NET, mais de primeira mão, é super fácil.

Então segue abaixo as três páginas que você precisa para modelar tudo

Index.aspx

<%@ Page Language="VB" %>
<html>
<head>
  <title>Gerar XML</title>
</head>
<body>
	<form runat="server">
		<asp:Xml Id="XMLPage" DocumentSource="teste.xml" TransformSource="teste.xsl" runat="server" />
	</form>
</body>
</html>

 

teste.xml

<?xml version="1.0" ?>
<classe_01>
  <bancos>
    <bancos_nome>Access</bancos_nome>
    <bancos_tipo>Database</bancos_tipo>
    <bancos_nome_completo>Microsoft Access</bancos_nome_completo>
    <bancos_linguagens>ASP, ASP.NET</bancos_linguagens>
    <bancos_tamanho>0 MB</bancos_tamanho>
    <bancos_qualidade>5</bancos_qualidade>
  </bancos>
  <bancos>
    <bancos_nome>Oracle</bancos_nome>
    <bancos_tipo>Database</bancos_tipo>
    <bancos_nome_completo>Oracle Database</bancos_nome_completo>
    <bancos_linguagens>ASP, PHP, JSP</bancos_linguagens>
    <bancos_tamanho>200 MB</bancos_tamanho>
    <bancos_qualidade>10</bancos_qualidade>
  </bancos>
  <bancos>
    <bancos_nome>MySQL</bancos_nome>
    <bancos_tipo>Database</bancos_tipo>
    <bancos_nome_completo>MySQL Database</bancos_nome_completo>
    <bancos_linguagens>ASP, PHP, JSP, ASP.NET</bancos_linguagens>
    <bancos_tamanho>0 MB</bancos_tamanho>
    <bancos_qualidade>9</bancos_qualidade>
  </bancos>
  <bancos>
    <bancos_nome>SQL SERVER</bancos_nome>
    <bancos_tipo>Database</bancos_tipo>
    <bancos_nome_completo>Microsoft SQL SERVER 2005</bancos_nome_completo>
    <bancos_linguagens>ASP e ASP.NET</bancos_linguagens>
    <bancos_tamanho>500 MB</bancos_tamanho>
    <bancos_qualidade>10</bancos_qualidade>
  </bancos>
</classe_01>

 

teste.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
	<table id="Transform" border="1" cellpadding="3" cellspacing="0" style="font:12px Arial;">
		<tr style="font-weight: bold;">
		  <td>NOME</td>
		  <td>TIPOS</td>
		  <td>COMPLETO</td>
		  <td>LINGUAGENS</td>
		  <td>TAMANHO</td>
		  <td>QUALIDADE</td>
		</tr>
	<xsl:apply-templates select="classe_01/bancos"/>
</table>
</xsl:template>

<xsl:template match="bancos">
    <tr>
      <td><xsl:value-of select="bancos_nome"/></td>
      <td><xsl:value-of select="bancos_tipo"/></td>
      <td><xsl:value-of select="bancos_nome_completo"/></td>
      <td><xsl:value-of select="bancos_linguagens"/></td>
      <td align="center"><xsl:apply-templates select="bancos_tamanho"/></td>
      <td align="center"><xsl:value-of select="bancos_qualidade"/></td>
    </tr>
</xsl:template>
</xsl:stylesheet>

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

Conexão com banco de dados no web.config

No caso do bom e velho ASP poderíamos colocar essa string de conexão dentro do global.asa que era mais ou menos assim:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_onStart 
	Application("Conn_BANCO") = "database=NOME_DA_BASE;server=000.000.000.000;user=USUARIO;pwd=SENHA"
End sub

Sub Session_onStart
End Sub

Sub Session_onEnd
End sub
</SCRIPT>

chamando assim na página:

Set Conexao = CreateObject("ADODB.Connection")
Conexao.ConnectionString = Application("Conn_BANCO")
Conexao.Open()

agora em ASP.NET não mudou nada só o arquivo:
usamos o web.config (arquivo de configuração do ASP.NET), assim:

<?xml version="1.0"?>
	<configuration>
		<appSettings/>
			<connectionStrings>
				<add name="Conn_BANCO" connectionString="server=000.000.000.000; database=NOME_DA_BASE;user=USUARIO;pwd=SENHA"
providerName="System.Data.Odbc" />
			</connectionStrings>
		<system.web>
		</system.web>
	</configuration>

chamamos assim:

Dim Conexao As ODBCConnection
Conexao = New ODBCConnection(ConfigurationManager.ConnectionStrings("Conn_BANCO").ConnectionString)
Conexao.Open()

Simples e bem funcional:

Acesse também: Webly

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

ASP.NET – Validando Campos : Tutorial 05

Aula baseada no site da w3schools
Código pronto para validar campos do tipo “Integer”

<%@ Page Language="VB" Debug="True" Explicit="True" %>
<html>
<head>
<title>Validando Campos</title>
</head>
<body>
<form runat="server">
Números de 1 a 100:
<asp :TextBox Id="CmpBox" runat="server" />
<asp :RangeValidator ControlToValidate="CmpBox" MinimumValue="1" MaximumValue="100" Type="Integer" Text="Os números válidos são de 1 a 100" runat="server" />
<br />
<asp :Button Text="Submit" runat="server" />
</form>
</body>
</html>

O RangeValidator é a tag do ASP.NET para fazer a função aontecer!!!!

Com o parâmentro MinimumValue você identifica o menor valor a ser comarado, como se fosse uma condição IF/END IF, o mesmo acontece com MaximumValue, compara até o maior valor!

O Type avisa qual o tipo de comparação que vem…

Acesse também: Webly

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

ASP.NET – Repeater Control : Tutorial 04

Aula baseada no site da w3schools
Código pronto para puxar informações de um arquivo XML, simples e prático!

Arquivo: RepeaterControl.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalogo>
<cd>
	<titulo>Empire Burlesque</titulo>
	<artista>Bob Dylan</artista>
	<ano>1985</ano>
</cd>
<cd>
	<titulo>Hide your heart</titulo>
	<artista>Bonnie Tyler</artista>
	<ano>1988</ano>
</cd>
<cd>
	<titulo>Greatest Hits</titulo>
	<artista>Dolly Parton</artista>
	<ano>1982</ano>
</cd>
<cd>
	<titulo>Still got the blues</titulo>
	<artista>Gary Moore</artista>
	<ano>1990</ano>
</cd>
<cd>
	<titulo>Eros</titulo>
	<artista>Eros Ramazzotti</artista>
	<ano>1997</ano>
</cd>
</catalogo>

Arquivo: RepeaterControl.aspx

<%@ Page Language="VB" Debug="True" Explicit="True" %>
<%@ Import NameSpace="System.Data" %>
<script runat="server">
	Sub Page_Load
		If Not Page.IsPostBack Then
			Dim MeuCdCatalogo = New DataSet
				MeuCdCatalogo.ReadXml (MapPath("RepeaterControl.xml"))
				Catalogo.DataSource = MeuCdCatalogo
				Catalogo.DataBind()
		End If
	End Sub
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Repeater Control</title>
</head>
<body>
<form runat="server">
	<asp:Repeater Id="Catalogo" runat="server">
    	<HeaderTemplate>
        	<table border="1" align="center" width="50%">
            	<tr>
                	<th>Título</th>
                    <th>Artista</th>
                    <th>Ano</th>
                </tr>
        </HeaderTemplate>
        <ItemTemplate>
        	<tr>
            	<td><%# Container.DataItem("Titulo") %></td>
                <td><%# Container.DataItem("Artista") %></td>
                <td><%# Container.DataItem("Ano") %></td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
        	</table>
        </FooterTemplate>
    </asp:Repeater>
</form>
</body>
</html>

Acesse também: Webly

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

ASP.NET – Trabalhando com TextBox, modo simples : Tutorial 03

Aula baseada no site da w3schools

Nosso terceiro bloco de codigo é esse:

<%@ Page Language="VB" Debug="True" Explicit="True" %>
<script runat="server">
	Sub Submit(Source As Object, E As EventArgs)
		
		' Dimensiona as variáveis "Nome" e "EMail", dizendo que são do tipo "String"
		Dim Nome, EMail As String
			
		' Os TextBox alimentão as variáveis "Nome" e "EMail"
		Nome = TxtNome.Text
		EMail = TxtEmail.Text
			
		' Resgata os valores do formulário e insere nos
		' labels "LbMsgNome" e "LbMsgEmail"
		LbMsgNome.Text = "Nome: " & Nome & "<br>"
		LbMsgEmail.Text = "E-Mail: " & EMail
			
		' Você também pode usar sessão, essa sessão
		' chama a variável "Nome", que já é alimentada pelo TextBox
		Session("SessionNome") = Nome
	End Sub
</script>
<html>
<head>
<title>Teste 01</title>
</head>
<body>
<form runat="server">
	Nome:
    <asp:TextBox Id="TxtNome" Text="" runat="server" /><br>
    
    Endereço de E-Mail:
    <asp:TextBox Id="TxtEmail" Text="" runat="server" /><br>
    	
        <asp:Button Text="Enviar" OnClick="Submit" runat="server" />
    <br><br>
    <!-- Recebendo os valores -->
    <asp:Label Id="LbMsgNome" Text="" runat="server" />
    <asp:Label Id="LbMsgEmail" Text="" runat="server" />
    
    <%
	' Resultado do alimento da Sessão anterior
	Response.Write("<br>Nome da Sessão: "&Session("SessionNome"))
	
	' Você também pode resgatar os valoreis diretamente pelo TextBox.
	' Aqui fiz um exemplo simples de puxar o TextBox "TxtNome"
	Response.Write("<br>Valor do Campo: "&TxtNome.Text)
	%>
</form>
</body>
</html>

Acesse também: Webly

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

ASP.NET – Web Server Controls : Tutorial 02

Aula baseada no site da w3schools

Nosso segundo bloco de codigo é esse:

<%@ Page Language="VB" Debug="True" Explicit="True" %>
<script runat="server">
	Sub Submit(Source As Object, E As EventArgs)
		Button1.Text = "Você me clicou!"
	End Sub
</script>
<html>
<head>
<title>Teste02</title>
</head>
<body>
<form runat="server">
	<asp:Button Id="Button1" Text="Clique Aqui!" OnClick="Submit" runat="server" />
</form>
</body>
</html>

A função desse código é a seguinte:
Ao clicar no botão chamado “Clique Aqui!” aciona a função dentro da “Sub” chamada “Submit” que cuja a finalidade é “trocar” o nome do botão. Código simples usando o “Source As Object”

Acesse também: Webly

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia

ASP.NET – HTML Server Controls : Tutorial 01

Aula baseada no site da w3schools

Nosso primeiro bloco de codigo é esse:

<%@ Page Language="VB" Debug="True" Explicit="True" %>
<script runat="server">
Sub Page_Load
	Link1.HRef = "http://www.terra.com.br" ' Link de referência
End Sub
</script>
<html>
<head>
<title>Teste01</title>
</head>
<body>
<form runat="server">
	<a id="Link1" runat="server">Teste de Link</a>
</form>
</body>
</html>

Esse bloco de código faz referência há um link, como se fosse o href do HTML, só que dentro de um ID:

O que é Page_Load?
Sempre que a nossa página ASP.NET começa, existe uma função que é sempre
executada, se a introduzirmos no nosso código, é Page_Load

Te mais nos próximos Tutoriais:

Acesse também: webly

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

programador javascript em salvador bahia, programador javascript na bahia, front-end salvador bahia, montagem sites salvador bahia