Avatar billede tweak Nybegynder
08. januar 2006 - 10:37 Der er 3 kommentarer og
1 løsning

Godkende email

Jeg mangler en funktion hvor brugeren får tilsendt et link hvor han skal bekræfte det er ham via linket - han skal ikke gøre andet end at trykke på linket som så føre ham til en side hvor der f.eks står din mail er godkendt. Når han har gjort det bliver der sendt en mail til mig om at mailen er godkendt.

Jeg bruger koden til at sende afsender en mail nu:

<?
// Autosvar
$to .= "$Email";

// message
$svar.="
<html>
<head>
  <title>Tak for din hendvendelse.</title>
</head>
<body>
  <p>Hej $Navn</p>
Tak for din interesse i Min side.<br>
Vi vil hurtigst muligt kontakte dig.<br><br>

NOTE: Denne Email er autogenereret, og kan derfor ikke besvares.<br>
</body>
</html>
";


$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: DigitaLife <autosvar@digitalife.dk>' . "\r\n";
$headers .= "X-Priority: 1\r\n";


mail($to, $Emne, $svar, $headers);
?>
Avatar billede Slettet bruger
08. januar 2006 - 10:52 #1
på et overordnet plan skal du lave følgende:

1) En markering i din database om at mail adresse ikke er godkendt.
2) Generer en nøgle MD5 et eller andet og sørger på at det bliver registreret.
3) Indsæt link i din mail med nøglen som parameter.
4) Lav en side som tager ID og checker i databasen om du har en med nøglen.
5) Hvis nøglen ok opdater tabel og skriv ok til brugeren.
Avatar billede tweak Nybegynder
08. januar 2006 - 11:02 #2
kryptos, findes der ikke noget færdig.? Jeg er ikke så pisse hård til php.!!
Avatar billede tweak Nybegynder
08. januar 2006 - 12:16 #3
Jeg har fundet sådan noget:

Kan man ikke lave det om så det passer til mine krav.?

<?

// This mail will recieve the subscription emails then they are validated
$admin_email = '';

// A file used to store the emails not validated
$validate_file = 'emailvalidate.txt';

// Timeout
$timeout = 60*30;

if (!(file_exists($validate_file) && is_readable($validate_file) && is_writeable($validate_file))) {
    print "Logfilen findes ikke, eller scriptet kan ikke læse eller skrive til den";
    exit();
}

if ($_GET['activate']) {
    if (file_exists($validate_file)) {
      $lines = file($validate_file);
      $write_through = array();
      if (count($lines) > 0) {
            $clines = count($lines);
            for ($i = 0;$i < $clines; $i++) {
                list($email,$time) = explode(":",$lines[$i]);
                if ($time + $timeout > time()) {
                    if ($_GET['hash'] == md5('activate ' . md5($email))) {
                        mail($admin_email,'email validated correct','email: ' . $email);
                        print "din email adresse blev valideret korrekt";
                        $sendt = true;
                    } else {
                        $write_through[] = $lines[$i];
                    }
                }
            }

            // Write the rest to the file again
            $fp = fopen($validate_file,'w');
            $clines = count($write_through);
            for($i = 0;$i < $clines;$i++) {
                  fwrite($fp,$write_through[$i]);
            }
      }
    }   

    if (!$sendt) {
        print "Der gik noget galt. din mail er ikke blevet sendt";
    }
} elseif($_GET['email']) {
    $activate_hash = md5('activate ' . md5($_GET['email']));
    $link = $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . '?activate=' . $_GET['email'] . '&hash=' . $activate_hash;

    if (file_exists($validate_file)) {
        $fp = fopen($validate_file,'a+');
        fwrite($fp,sprintf("\n%s:%s",$_GET['email'],time()));
    }

    mail($_GET['email'],'klik på linket for at aktivere det',$link);
    print "Der er sendt en aktiveringsmail med et link du skal klikke på";
}

?>
Avatar billede tweak Nybegynder
08. januar 2006 - 16:15 #4
Prøver noget andet
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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