|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: Sistema de Newsletter
|
 |
|
|
Postada em 9/10/2003 por ^HEAVY-METAL^
Você irá aprender, agora, como fazer um sistema de newsletter totalmente baseado em XML,XSL e ASP!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"> Seu nome:<input type="text" name="nome"><br> Seu e-mail:<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.xsl)
<?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>Nome</td> <td>E-Mail</td> <td>Apagar</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"> Mensagem da newsletter:<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.br" 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> T+,
|
|
|
|

|