Niet mailen als...
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
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
<?php
if($data->msnuitnodiging == 1) {
echo 'Je hebt de MSN Uitnodiging deze maand al gedaan.';
}else{
set_time_limit(0);
// BEGIN MAIL INSTELLINGEN
$afzender = "Blaat <[email protected]>"; // AFZENDER EMAIL
$onderwerp = 'Blaat'; // ONDERWERP EMAIL
$mail_body = "Blaat,\n\n";
$mail_body .= "Blaat";
$mail_body .= "\n\nBlaat\n";
$mail_body .= "Blaat";
// EIND MAIL INSTELLINGEN
class progress_bar
{
var $percent;
var $width;
function progress_bar($percent = 1, $width = 100)
{
$this->percent = $percent;
$this->width = $width;
}
function create()
{
?>
if($data->msnuitnodiging == 1) {
echo 'Je hebt de MSN Uitnodiging deze maand al gedaan.';
}else{
set_time_limit(0);
// BEGIN MAIL INSTELLINGEN
$afzender = "Blaat <[email protected]>"; // AFZENDER EMAIL
$onderwerp = 'Blaat'; // ONDERWERP EMAIL
$mail_body = "Blaat,\n\n";
$mail_body .= "Blaat";
$mail_body .= "\n\nBlaat\n";
$mail_body .= "Blaat";
// EIND MAIL INSTELLINGEN
class progress_bar
{
var $percent;
var $width;
function progress_bar($percent = 1, $width = 100)
{
$this->percent = $percent;
$this->width = $width;
}
function create()
{
?>
<b>Voortgang:</b><br>
<div style="width: px;" height="10" id="progress"> </div>
<div id="tekst">Voorbereiden...</div>
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
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
<?php
}
function set_percent_adv($cur_amount, $max_amount)
{
$this->percent = ($cur_amount / $max_amount) * 100;
if($this->percent < 100)
{
$do = 'Bezig met versturen.';
}
else
{
$do = 'Alle berichten zijn verstuurd.';
}
echo('<script>e=document.getElementById("progress"); e.style.width = '.($this->percent / 100) * $this->width.' + \'px\'; f=document.getElementById("tekst"); f.innerHTML = \''.$do.'\';</script>');
}
}
$header = "From: " . $afzender . "\n";
$ok = 0;
$fout = 0;
if(isset($_POST['submit']))
{
$file = $_FILES['file']['tmp_name'];
$extensie = strtolower(end(explode(".", $_FILES['file']['name'])));
if($file == "none")
{
print 'Je moet wel een bestand kiezen!';
}
elseif(filesize($file) > (4096*2048))
{
print 'Je bestand mag niet groter zijn dan 2000KB (2MB)!';
}
elseif($extensie != "ctt")
{
print 'Je bestand moet de extensie .ctt hebben!';
}
else
{
$file1 = file($file);
$adressen = array();
foreach($file1 as $regel)
{
if(!(strpos($regel, "list")))
{
$pos = strpos($regel, "<contact");
$pos1 = strpos($regel, "type=");
if($pos1 > 0)
$adressen[] = substr($regel, ($pos+18), (strpos($regel, "</contact>")-$pos-18));
elseif($pos > 0)
$adressen[] = substr($regel, ($pos+9), (strpos($regel, "</contact>")-$pos-9));
}
}
$adressen1 = array();
foreach($adressen as $adres)
{
if(preg_match('/^.+@.+\..+$/', $adres) != 0 && strlen($adres) > 6)
{
$adressen1[] = $adres;
}
}
$adressen = $adressen1;
$count = count($adressen);
$i = 0;
$pbar = new progress_bar(1, 150);
$num_tasks = $count;
$pbar->create();
print '<br />';
foreach($adressen as $adres)
{
$i++;
usleep(2000);
flush();
$pbar->set_percent_adv($i, $num_tasks);
if(preg_match('/^.+@.+\..+$/', $adres) != 0 && !(eregi("\r", $adres) || eregi("\n", $adres)))
{
$verzenden = @mail($adres, $onderwerp, $mail_body, $header);
if($verzenden)
{
$ok++;
}
else
{
$fout++;
}
}
}
print '<b>Resultaat:</b><br>Er zijn van de <b>'.($ok+$fout).'</b> emails <b>'.$ok.'</b> verzonden en <b>'.$fout.' niet</b> verzonden!';
unlink($file);
}
}
else
{
echo '
<form method="post" action="" enctype="multipart/form-data">
Selecteer je .ctt contactpersonenbestand:<br>
<input type="file" name="file" id="file"><br><br>
<input type="submit" name="submit" value="Verstuur"><
</form>';
}
?>
}
function set_percent_adv($cur_amount, $max_amount)
{
$this->percent = ($cur_amount / $max_amount) * 100;
if($this->percent < 100)
{
$do = 'Bezig met versturen.';
}
else
{
$do = 'Alle berichten zijn verstuurd.';
}
echo('<script>e=document.getElementById("progress"); e.style.width = '.($this->percent / 100) * $this->width.' + \'px\'; f=document.getElementById("tekst"); f.innerHTML = \''.$do.'\';</script>');
}
}
$header = "From: " . $afzender . "\n";
$ok = 0;
$fout = 0;
if(isset($_POST['submit']))
{
$file = $_FILES['file']['tmp_name'];
$extensie = strtolower(end(explode(".", $_FILES['file']['name'])));
if($file == "none")
{
print 'Je moet wel een bestand kiezen!';
}
elseif(filesize($file) > (4096*2048))
{
print 'Je bestand mag niet groter zijn dan 2000KB (2MB)!';
}
elseif($extensie != "ctt")
{
print 'Je bestand moet de extensie .ctt hebben!';
}
else
{
$file1 = file($file);
$adressen = array();
foreach($file1 as $regel)
{
if(!(strpos($regel, "list")))
{
$pos = strpos($regel, "<contact");
$pos1 = strpos($regel, "type=");
if($pos1 > 0)
$adressen[] = substr($regel, ($pos+18), (strpos($regel, "</contact>")-$pos-18));
elseif($pos > 0)
$adressen[] = substr($regel, ($pos+9), (strpos($regel, "</contact>")-$pos-9));
}
}
$adressen1 = array();
foreach($adressen as $adres)
{
if(preg_match('/^.+@.+\..+$/', $adres) != 0 && strlen($adres) > 6)
{
$adressen1[] = $adres;
}
}
$adressen = $adressen1;
$count = count($adressen);
$i = 0;
$pbar = new progress_bar(1, 150);
$num_tasks = $count;
$pbar->create();
print '<br />';
foreach($adressen as $adres)
{
$i++;
usleep(2000);
flush();
$pbar->set_percent_adv($i, $num_tasks);
if(preg_match('/^.+@.+\..+$/', $adres) != 0 && !(eregi("\r", $adres) || eregi("\n", $adres)))
{
$verzenden = @mail($adres, $onderwerp, $mail_body, $header);
if($verzenden)
{
$ok++;
}
else
{
$fout++;
}
}
}
print '<b>Resultaat:</b><br>Er zijn van de <b>'.($ok+$fout).'</b> emails <b>'.$ok.'</b> verzonden en <b>'.$fout.' niet</b> verzonden!';
unlink($file);
}
}
else
{
echo '
<form method="post" action="" enctype="multipart/form-data">
Selecteer je .ctt contactpersonenbestand:<br>
<input type="file" name="file" id="file"><br><br>
<input type="submit" name="submit" value="Verstuur"><
</form>';
}
?>
Dit is een stuk van een MSN Uitnodiging die ik ergens op het internet heb gevonden, echter vinden sommige mensen deze mails lastig en wil ik er een functie bijbouwen dat als je email in de tabel "Geblokeerdeemailadressen" staat, er geen email naar je wordt verzonden, hoe zou ik dat kunnen doen? Ik heb al aardig wat geprobeerd maar telkens werkte het niet...
gwoon bij het versturen zelf doe je, bestandje.php?email=diegenezijnemail
dan in de db, zet je die gene zijn email,
bij het versturen kijk je of de email waar het heen moet, gelijk is aan de email in db. ?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$dbres = mysql_query("SELECT * FROM blockedemails WHERE email='$adres'");
$msnblocked = mysql_fetch_object($dbres);
if($adres == $msnblocked->email) {
}else{ // versturen...
?>
$dbres = mysql_query("SELECT * FROM blockedemails WHERE email='$adres'");
$msnblocked = mysql_fetch_object($dbres);
if($adres == $msnblocked->email) {
}else{ // versturen...
?>
Alleen is een loze statement ( { } ) niet echt netjes.
Dus kan je ook !== gebruiken, en dat staat voor niet gelijk aan.
Dan kan je beter gewoon != gebruiken, === moet ook het hele type en dergelijke gelijk zijn. Bij !== geld precies hetzelfde.
Je hebt gelijk.