Avatar billede cypherdenmark Nybegynder
25. maj 2003 - 21:56 Der er 6 kommentarer og
1 løsning

Bekræftelse af tilmeldte email (Jmail)

Hej Alle

Jeg skal til at lave en mail liste og er næsten færdig.

Folk kan nu tilmeldes og afmeldes. Men hvordan kan man lave det sådan, at folk skal bekræfte en mail før de bliver tilmeldt en mailliste ?

Bemærk jeg bruger Jmail (hosted af Azero.dk)

På forhånd tak......
Avatar billede medions Nybegynder
25. maj 2003 - 22:03 #1
Idet det tilmelder sig opretter du en record i en database som får et unikt ID. Det ID sender du så med i mailen i en URL adresse fx.:
www.domæne.dk/confirm.asp?id=120

i det brugeren så klikker på linket laver du en update på den record som er reseveret og giver den fx. en boolsk værdi for at det er bekræftet!

I det du så sender mailsne via. mailinglisten laver du en forspørsel som hedder

SELECT * FROM tblMailingliste WHERE confirmed = 1

//>Rune
Avatar billede eagleeye Praktikant
25. maj 2003 - 22:05 #2
Jeg har engang et ligne med login system. Folk opretter sig man sender en mail ud og ved tryk på et link kommer man ind på siden og skal trykke på godkend.

Jeg lavede det med en ekstra kolonne som sage om man var aktiv, når man oprettede sig blev aktiv = false og når man trykke på godkend blev aktiv=true.


Når du så skal send mails tilføjer du AND aktiv=true til den sQL som finde mail adreserne. Finder lige lidt kode hvis du vil havde det?
Avatar billede eagleeye Praktikant
25. maj 2003 - 22:11 #3
Denne kode har endag kørt på Azero server ;)



<%
Response.Buffer = true


mode = "askforuseraccept"
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  username = Request.Form("user")
  mode = "accepted"
  'Response.AddHeader "Refresh","1; URL=login.asp"
  Response.Expires = Now() - 1000
else
  username = Request.QueryString("username")
end if

if username = "" then
  Response.Redirect("login.asp")
end if
Error_Code = 0

%>
<HTML>
<head>
<META HTTP-EQUIV="Expires" CONTENT="Mon, 01 Jan 1995 00:01:01 CST">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<link rel="StyleSheet" href="../style1.css" type="text/css">
</head>
<body bgcolor="#EDEEDD">
<center>

<!--#include file="dsn.asp"-->
<%

if mode = "accepted" then
  strSQL= "UPDATE dp_members SET account_valid = 1 WHERE username = '" & username & "';"
  Conn.Execute(strSQL)
  strSQL= "SELECT * FROM dp_members WHERE username = '" & username & "';"
  set rs = Conn.Execute(strSQL)
  %>
  Din bruger profil er nu aktiv. <br>
  Tryk <a href="login.asp">her</a> for at logge ind.
  <%
  'Conn.Close
else
  Set rs = Server.CreateObject("ADODB.RecordSet")
  strSQL= "SELECT * FROM dp_members WHERE username = '" & username & "';"
  Set rs = Conn.Execute (strSQL)

  if (rs.EOF AND rs.BOF) then
    'Bruger findes ikke
    Error_Code = 1
  else
    if (Clng(rs("account_valid")) = Clng(1)) then
    'Brugeren er valid
      Error_Code = 1
    else
    %>
    Velkommen til Xxxx Forum, du mangler kan at godkende dit brugernavn
    så kan du logge ind i forum med det samme efter det. <br>
    Din profil bliver aktiv ved at trykke på godkend knappen.
    <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post">
    <input type="hidden" name="user" value="<%=username%>">
    <input type="submit" name="Godkend" value="Godkend">
    </form>
    <%
    end if
  end if
end if

Conn.Close

if Error_Code = 1 then
  Response.Clear
  Response.Redirect("login.asp")
end if

%>
</center>
</body>
</HTML>
Avatar billede eagleeye Praktikant
25. maj 2003 - 22:14 #4
Her er koden til den mail som bliver send ud, når man opretter sig:


SendMail = true
if SendMail = true then
      Set JMail= Server.CreateObject("JMail.SMTPMail")
      JMail.ServerAddress = "websmtp.xxxxx.dk"
      JMail.Sender        = "admin@xxxxx.dk"
      JMail.SenderName    = "xxxxx Forum"
      JMail.Subject      = "Velkommen til xxxxx forum"
      JMail.AddRecipient  email
      JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
 
      BodyText = "Hej" & vbCrLf & vbCrLf
      BodyText = BodyText & "Du er nu registrert som bruger af xxxxx forum." & vbCrLf
      BodyText = BodyText & "For at aktivere brugernavnet skal du trykke på dette link http://www.xxxxx.dk/login/godkend.asp?username=" & brugernavn & ""
      BodyText = BodyText & vbCrLf & vbCrLf
     
      BodyText = BodyText & "Med Venlig Hilsen" & vbCrLf
      BodyText = BodyText & "    Admin xxxxx Forum"   
 
      JMail.Body = BodyText
      JMail.Silent = true
      JMail.Execute
      Set JMail = Nothing 

end if

  Response.Write "Du er nu oprettet som bruger, du vil modtage en email hvor du skal skal følge linket og godkende din profil."
Avatar billede hnteknik Novice
25. maj 2003 - 22:34 #5
Hvis eagleeyes ikke sparker ...
så har jeg også en nyhedstjeneste af- og tilmelde funktion kørende hos A0 og naturligvis i jmail. Kunsten er at få en unique ID o gdet er måske ikke så nemt som man tror. Ikke alt er så random som antydet. Jeg har noget effektivt kørende i javascript.
Sig til hvis du mangler noget.
Henrik
Avatar billede cypherdenmark Nybegynder
25. maj 2003 - 23:01 #6
eagleeye >> Slå lige et kig på det i morgen tidelig, det er ved at blive sent............. :-)
Avatar billede cypherdenmark Nybegynder
26. maj 2003 - 13:48 #7
Nå men fik kigge lidt på Eagleeye's version og brugte nogle idder og ting derfra......

Så tak for hjælpen, og hermed point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester