Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Silas Martins

Criando sua Newsltter em ASP+XML

Recommended Posts

Bom nesse artigo vou ensinar como montar um sistema de Newsletter em ASP+XML.

Esse artigo será dividido por passos para um melhor entendimento do assunto.

Passo1:

Criando o documento XML que conterá os emails e nomes das pessoas.

(cadastro.xml)

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<cadastro>
<usuario>
<nome>Teste</nome>
<email>teste@</email>
</usuario>
<usuario>
<nome>Teste2</nome>
<email>teste2@</email>
</usuario>
</cadastro>

Passo2.

Criando os documentos responsáveis por inserir novos cadastrados na lista

 

(form_cadastro.html)

 

 

 

<html><body bgcolor="white">
<form action="cadastrar.asp" method="post">
<b>Seu nome:</b><input type="text" name="nome"><br>
<b>Seu e-mail:</b><input type="text" name="email"><br>
<input type="submit" value="Cadastrar">
</form>
</body></html>

(cadastrar.asp)

 

<%@Language=VBScript%>
<html><body>
<%
nome=request.form("nome")
email=request.form("email")
set doc=server.createobject("microsoft.xmldom")
doc.load(server.mappath("cadastro.xml"))
set raiz=doc.documentElement
set registro=doc.createelement("usuario")
raiz.appendchild(registro)
set campo=doc.createelement("nome")
campo.text=nome
registro.appendchild(campo)
set campo=doc.createelement("email")
campo.text=email
registro.appendchild(campo)
doc.save(server.mappath("cadastro.xml"))
response.write"Cadastro realizado com sucesso!"
%><br>
<a href="admin.asp">Clique aqui para voltar à administracao</a>
</body></html>

Passo3.

Mostrando os cadastrados, apagando cadastrado e link para enviar os e-mails

 

(admin.xml)

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"
xmlns="http://www.w3.org/TR/REC-html40">
<xsl:template match="/">
<html><body>
<a href="email_escrever.html">Escrever e-mail para cadastrados</a><br>
<center>
<table border="1">
<tr>
<td><b>Nome</b></td>
<td><b>E-Mail</b></td>
<td><b>Apagar</b></td>
</tr>
<xsl:for-each select="cadastro/usuario">
<tr>
<td><xsl:value-of select="nome"/></td>
<td><xsl:value-of select="email"/></td>
<td><a><xsl:attribute name="href">apagar.asp?email=<xsl:value-of select="email"/></xsl:attribute>Apagar</a></td>
</tr>
</xsl:for-each>
</table></center></body></html>
</xsl:template>
</xsl:stylesheet>

 

(admin.asp)

 

<%@Language=VBScript%>
<%
set xsldoc=server.createobject("microsoft.xmldom")
set xmldoc=server.createobject("microsoft.xmldom")
xmldoc.load(server.mappath("cadastro.xml"))
xsldoc.load(server.maptah("admin.xsl"))
response.write(xmldoc.transformnode(xsldoc))
%>

 

(apagar.asp)

 

<%@Language=VBScript%>
<%response.buffer="true"%>
<%
set xmldoc=server.createobject("microsoft.xmldom")
xmldoc.load(server.mappath("cadastro.xml"))
set raiz=xmldoc.documentElement
set registro=raiz.selectsinglenode("usuario[email='"&request.querystring("email")&"']")
raiz.removechild(registro)
xmldoc.save(server.mappath("cadastro.xml"))
response.redirect"admin.asp"
%>

 

Passo4.

Já estamos chegando ao final, basta criar o forumlário de envio de e-mail e o arquivo que envia os e-mails

 

(email_escrever.html)

 

<html><body bgcolor="white">
<form action="email_enviar.asp">
<b>Mensagem da newsletter:</b><br>
<textarea name="texto" rows="6" cols="35">
</textarea><br>
<input type="submit" value="Enviar">
</form></body></html>

 

(email_enviar.asp)

 

<%@Language=VBScript%>
<%
set rs=server.createobject("adodb.recordset")
rs.open(server.mappath("cadastro.xml"))
do until rs.eof
email=rs("email")
rs.movenext
loop
rs.close
set rs=nothing
texto=request.form("texto")
set mail=server.createobject("CDONTS.NewMail")
mail.To=email
mail.From=" seuemail@servidor.com.brEste endereço de e-mail está protegido contra spam bots, pelo que o Javascript terá de estar activado para poder visualizar o endereço de email "
mail.Subject="Assunto"
mail.Body=texto
mail.Send
set mail=nothing
response.write"E-Mail enviado com sucesso!"
%>
<html><body bgcolor="white">
<a href="admin.asp">Voltar à administracao</a>
</body></html>

Chegamos ao fim deste artigo.

Realmente nâo é nem um pouco difícil fazer um sistema de newsletter em XML, concordam?

OBS: É preciso que seu servidor tenha o objeto CDONTS para envio de e-mails.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.....bela materia, mas me diga, é possivel evitar cadastro de emails repetidos???

Aguardo e mais uma vez,parabéns!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com um problema, logo que clico em 'voltar a administração, aparece o seguinte erro:

 

Microsoft VBScript runtime error '800a01b6'

 

Object doesn't support this property or method: 'server.maptah'

 

/teste/admin.asp, line 6

 

Detalhe: Uso o UolHost.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.