Xammp. Mail sturen door middel van localhost werkt niet(gmail)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jordi timmerman

Jordi timmerman

23/03/2017 21:04:15
Quote Anchor link
Hallo, ik probeer een mail te versturen door middel van mijn localhost.
Maar mijn localhost wil geen email sturen naar dat email adres wat ik invoer.
Ik krijg veder geen foutmeldingen.
Ik gebruik de volgende settings in mijn php.ini en sendmail.ini.

sendmail.ini:

[sendmail]

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username= [email protected]
auth_password= *********
[email protected]

php.ini:

[mail function]
SMTP = localhost
smtp_port= 587
sendmail_from = [email protected]
sendmail_path = sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t "

Kan iemand mij helpen met mij probleem?
Gewijzigd op 23/03/2017 21:06:59 door Jordi timmerman
 
PHP hulp

PHP hulp

27/11/2024 01:47:49
 
- Ariën  -
Beheerder

- Ariën -

23/03/2017 21:08:18
Quote Anchor link
Staat er ook niks in de log? En hoe mail je? Heb je daar relevante code van?
 
Jordi timmerman

Jordi timmerman

23/03/2017 21:17:50
Quote Anchor link
mijn code:

Register.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php

$_SESSION
['email'] = $_POST['email'];
$_SESSION['first_name'] = $_POST['firstname'];
$_SESSION['last_name'] = $_POST['lastname'];

$first_name = $mysqli->escape_string($_POST['firstname']);
$last_name = $mysqli->escape_string($_POST['lastname']);
$email = $mysqli->escape_string($_POST['email']);
$password = $mysqli->escape_string(password_hash($_POST['password'], PASSWORD_BCRYPT));
$hash = $mysqli->escape_string( md5( rand(0,1000) ) );
      

$result = $mysqli->query("SELECT * FROM users WHERE email='$email'") or die($mysqli->error());


if ( $result->num_rows > 0 ) {
    
    $_SESSION['message'] = 'Gebruiker met die email bestaad al!';
    header("location: error.php");
    
}

else {

    $sql = "INSERT INTO users (first_name, last_name, email, password, hash) "
            . "VALUES ('$first_name','$last_name','$email','$password', '$hash')";

    if ( $mysqli->query($sql) ){

        $_SESSION['active'] = 0;
        $_SESSION['logged_in'] = true;
        $_SESSION['message'] =
                
                 "Je hebt een mail ontvangen met een acctivatie link";


        $to      = $email;
        $subject = 'Account acctivatie ';
        $message_body = '
        Hello '
.$first_name.',

        Dank je wel voor het aanmaken van een account.

        Klik aub op de link hieronder om je account te acctiveren.

        http://localhost/login-system/verify.php?email='
.$email.'&hash='.$hash;  

        mail( $to, $subject, $message_body );

        header("location: profile.php");

    }


    else {
        $_SESSION['message'] = 'Registration failed!';
        header("location: error.php");
    }

}



verify.php:

[
code]<?php

require 'db.php';
session_start();


if(isset($_GET['email']) && !empty($_GET['email']) AND isset($_GET['hash']) && !empty($_GET['hash']))
{

    $email = $mysqli->escape_string($_GET['email']);
    $hash = $mysqli->escape_string($_GET['hash']);

    $result = $mysqli->query("SELECT * FROM users WHERE email='$email' AND hash='$hash' AND active='0'");

    if ( $result->num_rows == 0 )
    {

        $_SESSION['message'] = "Account is al geactiveerd!";

        header("location: error.php");
    }

    else {
        $_SESSION['message'] = "Je account is geactiveerd";
        

        $mysqli->query("UPDATE users SET active='1' WHERE email='$email'") or die($mysqli->error);
        $_SESSION['active'] = 1;
        
        header("location: success.php");
    }
}

else {
    $_SESSION['message'] = "";
    header("location: error.php");
}
    
?>




Ik hoop dat je hier genoeg aan hebt.
 
- Ariën  -
Beheerder

- Ariën -

23/03/2017 21:23:43
Quote Anchor link
Gebruik de juiste headers in je mail() functie: https://www.phphulp.nl/php/forum/topic/de-juiste-mailheaders/84352/

Ikzelf gebruik bij voorkeur phpMailer.
 
Ben van Velzen

Ben van Velzen

24/03/2017 01:04:53
Quote Anchor link
Kijk ook eens naar wat je ISP wel en niet toestaat; verkeer tussen mailservers dient te geschieden over poort 25, de submission poort (587) is niet voldoende om aflevering te bewerkstelligen wanneer het verkeer tussen je eigen mailserver en gmail plaatsvindt.
 
Marthijn Buijs

Marthijn Buijs

25/03/2017 12:48:55
Quote Anchor link
Dezelfde SMTP-server configureren in php.ini als sendmail.ini?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.