Geen mails verstuurd
Gisteren had ik al een topic gemaakt, maar die fout was mooi opgelost. Nu zit ik met volgende fout. Ik wou dus een mail versturen via een webformulier dat ik zelf gemaakt heb. Nu geeft hij geen fouten meer (gelukkig) maar komen mijn mails niet door.
Eerst dacht ik dat het bij mijn host lag en dus heb ik zelf een server opgezet + mail() functie geinstaleerd. Nu krijg ik weer geen fouten maar als ik in het programma kijk die de mails verstuurd heeft hij ze allemaal ontvangen maar stuurt ze nooit door. Hoe komt dit? Foutje in mijn opstelling van server of in de code? Wel, hier is het script anders
Code (php)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?
// --------------------------- //
// La Bella Maniella //
// VZW LEJO //
// //
// Created by: Fabian Tack //
// http://dhost.info/cftutk //
// //
// V 1.0 //
// --------------------------- //
// Fouten Checken
ini_set('display_errors', 'On');
error_reporting(E_ALL);
// Alle belangerijke dingen ophalen
include('config.php');
// Toon Logo
echo '<img src="logo.jpg"><br><br>';
// Kijken welke actie er wordt gebruikt
if(isset($_POST['verzenden_form'])) {
// Eerst kijken of alles is ingevuld
if($_POST['naam'] == "") {
echo '<b>ERROR: Je moet een naam invullen om verder te kunnen!</b><br><br><a href="./index.php">Probeer Opnieuw</a>';
} elseif($_POST['email'] == "") {
echo '<b>ERROR: Je moet je email adres invullen om verder te kunnen!</b><br><br><a href="./index.php">Probeer Opnieuw</a>';
} elseif($_POST['personen'] == "") {
echo '<b>ERROR: Je moet invullen met hoeveel mensen je komt om verder te kunnen!</b><br><br><a href="./index.php">Probeer Opnieuw</a>';
} else {
// Voeg alles in database
$con = "INSERT INTO maniella (nam, mail, pers) VALUES ('".$_POST['naam']."', '".$_POST['email']."', '".$_POST['personen']."')";
if (mysql_query ($con)) {
if (mysql_affected_rows ()) {
$con = mysql_query("SELECT * FROM maniella WHERE nam = '".$_POST['naam']."'");
$inf = mysql_fetch_array($con);
// Mail Functie
$tpc = "La Bella Maniella :: Bevestiging";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'From: La Bella Maniella <[email protected]>' . "\r\n";
$bericht = '
<html>
<head>
<title>La Bella Maniella :: Activering</title>
</head>
<body>
<img src="logo.jpg"><br><br>
Beste '.$_POST['naam'].',<br><br>
U hebt zonet uw plaats gereserveerd voor onze spaghettiavond.<br>
Om zeker te zijn dat je komt, moet je het bericht nog eens bevestigen.<br>
Klik op onderstaande link, Kan je die niet aanklikken, plak en koppier deze in uw browser.<br>
Zodra dit gedaan is, krijg je nog een mail met verdere instructies.<br>
<br>
<a href="http://dhost.info/cftutk/maiella/index.php?m=act&id='.$inf['id'].'">http://dhost.info/cftutk/maiella/index.php?m=act&id='.$inf['id'].'</a><br>
<b>Met Vriendekijke Groeten,<br>
La Bella Maniella.</b>
</body>
</html>
';
mail($_POST['email'], $tpc, $bericht, $headers);
echo 'Uw aanvraag is ontvangen en wordt verwerkt.<br>U krijgt straks een mailtje waarin je moet bevestigen of je komt of niet.<br><br><b>Met Vriendelijke Groeten,<br>La Bella Maniella.</b>';
} else {
echo '<b>ERROR: Er is een fout gebeurd in onze database!</b><br><br><a href="index.php">Probeer Opnieuw</a>';
}
} else {
echo '<b>ERROR: Er is een fout gebeurd in onze database!</b><br><br><a href="index.php">Probeer Opnieuw</a>';
}
}
} elseif ($_GET['m'] == "act" && $_GET['id'] != "") {
// Bevestiging versturen naar algemeen e-mail adress
} else {
echo '<table width="493" cellpadding="0" cellspacing="0" border="0" style="padding-left: 7px;">';
echo '<tr>';
echo '<td>';
echo '<b>Het kookatelier van VZW Lejo organiseert dit jaar "La Bella Maniella"!</b><br><br>';
echo 'La Bella Maniella is een Spaghetti-avond waarin wij wat geld proberen te verzamelen om iets tofs te doen met de groep..<br>
Op deze website kan je je inschrijven voor dit eet-festijn. Het enigste wat je moet doen is onderstaand formulier in te vullen
en de verdere instructies op te volgen.<br>
De Spaghetti-avond zal doorgaan op .. Maart 2008 vanaf 18u tot 21u op de Nebo-Boot. Hoe er geraken? Klik hier voor de wegbeschrijving.<br>
Binnenkort zal er nog meer info op deze site komen, dus zeker af en toe eens bekijken.';
echo 'We hopen je dan te zien.<br><br>';
echo '<font size="3"><b>Inschrijvingsformulier</b></font>';
echo '<hr color="#000000" width="200" align="left">';
echo '<form method="POST" action="' . $_SERVER['PHP_SELF'] . '">';
echo '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
echo '<tr>';
echo '<td width="30%"><b>Naam*</b></td>';
echo '<td width="70%"><input type="text" size="30" name="naam" value=""></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%"><b>Email Adres*</b></td>';
echo '<td width="70%"><input type="text" size="30" name="email" value=""></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%"><b>Aantal Personen*</b></td>';
echo '<td width="70%"><input type="text" size="30" name="personen" value=""></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%" align="top" valign="top"><b>Eventuele Opmerkingen</b></td>';
echo '<td width="70%"><textarea cols="40" rows="8" name="opmerkingen"></textarea></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%"><input type="submit" value="Inschrijven" name="verzenden_form"></td>';
echo '<td width="70%"><input type="reset" value="Wis Velden" name="reset"></td>';
echo '</tr>';
echo '</table><br>';
echo '</form>';
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td width="70%"><font size="1"><i>* Verplichte velden</i></font></td>';
echo '</tr>';
echo '</table><br>';
echo '<b>© 2008 VZW Lejo - Alle Rechten Voorbehouden</b>';
}
?>
// --------------------------- //
// La Bella Maniella //
// VZW LEJO //
// //
// Created by: Fabian Tack //
// http://dhost.info/cftutk //
// //
// V 1.0 //
// --------------------------- //
// Fouten Checken
ini_set('display_errors', 'On');
error_reporting(E_ALL);
// Alle belangerijke dingen ophalen
include('config.php');
// Toon Logo
echo '<img src="logo.jpg"><br><br>';
// Kijken welke actie er wordt gebruikt
if(isset($_POST['verzenden_form'])) {
// Eerst kijken of alles is ingevuld
if($_POST['naam'] == "") {
echo '<b>ERROR: Je moet een naam invullen om verder te kunnen!</b><br><br><a href="./index.php">Probeer Opnieuw</a>';
} elseif($_POST['email'] == "") {
echo '<b>ERROR: Je moet je email adres invullen om verder te kunnen!</b><br><br><a href="./index.php">Probeer Opnieuw</a>';
} elseif($_POST['personen'] == "") {
echo '<b>ERROR: Je moet invullen met hoeveel mensen je komt om verder te kunnen!</b><br><br><a href="./index.php">Probeer Opnieuw</a>';
} else {
// Voeg alles in database
$con = "INSERT INTO maniella (nam, mail, pers) VALUES ('".$_POST['naam']."', '".$_POST['email']."', '".$_POST['personen']."')";
if (mysql_query ($con)) {
if (mysql_affected_rows ()) {
$con = mysql_query("SELECT * FROM maniella WHERE nam = '".$_POST['naam']."'");
$inf = mysql_fetch_array($con);
// Mail Functie
$tpc = "La Bella Maniella :: Bevestiging";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'From: La Bella Maniella <[email protected]>' . "\r\n";
$bericht = '
<html>
<head>
<title>La Bella Maniella :: Activering</title>
</head>
<body>
<img src="logo.jpg"><br><br>
Beste '.$_POST['naam'].',<br><br>
U hebt zonet uw plaats gereserveerd voor onze spaghettiavond.<br>
Om zeker te zijn dat je komt, moet je het bericht nog eens bevestigen.<br>
Klik op onderstaande link, Kan je die niet aanklikken, plak en koppier deze in uw browser.<br>
Zodra dit gedaan is, krijg je nog een mail met verdere instructies.<br>
<br>
<a href="http://dhost.info/cftutk/maiella/index.php?m=act&id='.$inf['id'].'">http://dhost.info/cftutk/maiella/index.php?m=act&id='.$inf['id'].'</a><br>
<b>Met Vriendekijke Groeten,<br>
La Bella Maniella.</b>
</body>
</html>
';
mail($_POST['email'], $tpc, $bericht, $headers);
echo 'Uw aanvraag is ontvangen en wordt verwerkt.<br>U krijgt straks een mailtje waarin je moet bevestigen of je komt of niet.<br><br><b>Met Vriendelijke Groeten,<br>La Bella Maniella.</b>';
} else {
echo '<b>ERROR: Er is een fout gebeurd in onze database!</b><br><br><a href="index.php">Probeer Opnieuw</a>';
}
} else {
echo '<b>ERROR: Er is een fout gebeurd in onze database!</b><br><br><a href="index.php">Probeer Opnieuw</a>';
}
}
} elseif ($_GET['m'] == "act" && $_GET['id'] != "") {
// Bevestiging versturen naar algemeen e-mail adress
} else {
echo '<table width="493" cellpadding="0" cellspacing="0" border="0" style="padding-left: 7px;">';
echo '<tr>';
echo '<td>';
echo '<b>Het kookatelier van VZW Lejo organiseert dit jaar "La Bella Maniella"!</b><br><br>';
echo 'La Bella Maniella is een Spaghetti-avond waarin wij wat geld proberen te verzamelen om iets tofs te doen met de groep..<br>
Op deze website kan je je inschrijven voor dit eet-festijn. Het enigste wat je moet doen is onderstaand formulier in te vullen
en de verdere instructies op te volgen.<br>
De Spaghetti-avond zal doorgaan op .. Maart 2008 vanaf 18u tot 21u op de Nebo-Boot. Hoe er geraken? Klik hier voor de wegbeschrijving.<br>
Binnenkort zal er nog meer info op deze site komen, dus zeker af en toe eens bekijken.';
echo 'We hopen je dan te zien.<br><br>';
echo '<font size="3"><b>Inschrijvingsformulier</b></font>';
echo '<hr color="#000000" width="200" align="left">';
echo '<form method="POST" action="' . $_SERVER['PHP_SELF'] . '">';
echo '<table width="100%" border="0" cellpadding="0" cellspacing="0">';
echo '<tr>';
echo '<td width="30%"><b>Naam*</b></td>';
echo '<td width="70%"><input type="text" size="30" name="naam" value=""></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%"><b>Email Adres*</b></td>';
echo '<td width="70%"><input type="text" size="30" name="email" value=""></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%"><b>Aantal Personen*</b></td>';
echo '<td width="70%"><input type="text" size="30" name="personen" value=""></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%" align="top" valign="top"><b>Eventuele Opmerkingen</b></td>';
echo '<td width="70%"><textarea cols="40" rows="8" name="opmerkingen"></textarea></td>';
echo '</tr>';
echo '<tr>';
echo '<td width="30%"><input type="submit" value="Inschrijven" name="verzenden_form"></td>';
echo '<td width="70%"><input type="reset" value="Wis Velden" name="reset"></td>';
echo '</tr>';
echo '</table><br>';
echo '</form>';
echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td width="70%"><font size="1"><i>* Verplichte velden</i></font></td>';
echo '</tr>';
echo '</table><br>';
echo '<b>© 2008 VZW Lejo - Alle Rechten Voorbehouden</b>';
}
?>
Greetz
Fabian Tack schreef op 16.02.2008 17:16:
.... maar als ik in het programma kijk die de mails verstuurd heeft hij ze allemaal ontvangen maar stuurt ze nooit door. ....
Wat bedoel je hiermee?
Dat is een mailserver? Dan zal je die niet correct hebben geconfigureerd.
Oke, akkoord, maar hoe komt het dat het op mijn andere host niet werkt? en voor ik dit script aanpaste met HTML code's wel?
Nog effe een tip: zet je mail() functie gedoetje in een if statement. Zo kun je in je script al checken of hij wel verzonden is. Anders geef je straks terug dat hij verzonden is terwijl hij helemaal niet verzonden is ; )..
Tip: vergeet die hele mail functie van PHP en leer werken met de Swift mailer class. Ben je van al het gedoe af.