Kan de tutorial niet vinden...
Ik ben op zoek naar een tutorial of script waarmee ik via een formulier een mass mail naar alle email adressen in mijn MySQL database kan sturen.
Ik heb gezocht op google maar ik vond niets,...
Jelle
Geef me 5 minuten.
heb je een PM systeem op je website staan?
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
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
<?php
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
//Er is niets gepost, dus het formulier laten zien
echo '<form action="" method="post">
Onderwerp:<br />
<input type="text" name="onderwerp" /><br />
Bericht<br />
<textarea name="bericht"></textarea><br />
<input type="submit" value="versturen">
</form>';
}
else
{
//Er is wel gepost, dus controleren/versturen
if(empty($_POST['onderwerp']) || empty($_POST['bericht']))
{
//Er waren een aantal velden leeg, opnieuw invullen
echo 'Je moet alle velden invullen!<br />
<form action="" method="post">
Onderwerp:<br />
<input type="text" name="onderwerp" value="' . $_POST['onderwerp'] . '" /><br />
Bericht<br />
<textarea name="bericht">' . $_POST['bericht'] . '</textarea><br />
<input type="submit" value="versturen">
</form>';
}
else
{
//Alles is ingevuld, dus mailadressen ophalen en bericht versturen
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
$swift = new Swift(new Swift_Connection_SMTP("localhost")); //meestal localhost, als het niet werkt, neem dan het adres van de mailserver van je provider
$bericht = new Swift_Message(htmlentities($_POST['onderwerp']), htmlentities($_POST['bericht']));
//mailadressen ophalen
$mailQuery = "SELECT mailadress, naam FROM tabel";
$mailResult = mysql_query($mailQuery);
if(!$mailResult)
{
echo 'Het ophalen van de mailadressen is mislukt! Error:' . mysql_error();
}
else
{
$ontvangers =& new Swift_RecipientList();
$ontvangers->addTo("[email protected]", "Je naam");
while($row = mysql_fetch_assoc($mailResult))
{
$ontvangers->addBcc($row['mailadres'], $row['naam']);
}
//Het aantal dat verzonden is opvragen
$number_sent = $swift->send($bericht, $ontvangers, "[email protected]");
echo 'Het bericht is verzonden naar ' . $number_sent . ' ontvangers.';
}
}
}
?>
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
//Er is niets gepost, dus het formulier laten zien
echo '<form action="" method="post">
Onderwerp:<br />
<input type="text" name="onderwerp" /><br />
Bericht<br />
<textarea name="bericht"></textarea><br />
<input type="submit" value="versturen">
</form>';
}
else
{
//Er is wel gepost, dus controleren/versturen
if(empty($_POST['onderwerp']) || empty($_POST['bericht']))
{
//Er waren een aantal velden leeg, opnieuw invullen
echo 'Je moet alle velden invullen!<br />
<form action="" method="post">
Onderwerp:<br />
<input type="text" name="onderwerp" value="' . $_POST['onderwerp'] . '" /><br />
Bericht<br />
<textarea name="bericht">' . $_POST['bericht'] . '</textarea><br />
<input type="submit" value="versturen">
</form>';
}
else
{
//Alles is ingevuld, dus mailadressen ophalen en bericht versturen
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
$swift = new Swift(new Swift_Connection_SMTP("localhost")); //meestal localhost, als het niet werkt, neem dan het adres van de mailserver van je provider
$bericht = new Swift_Message(htmlentities($_POST['onderwerp']), htmlentities($_POST['bericht']));
//mailadressen ophalen
$mailQuery = "SELECT mailadress, naam FROM tabel";
$mailResult = mysql_query($mailQuery);
if(!$mailResult)
{
echo 'Het ophalen van de mailadressen is mislukt! Error:' . mysql_error();
}
else
{
$ontvangers =& new Swift_RecipientList();
$ontvangers->addTo("[email protected]", "Je naam");
while($row = mysql_fetch_assoc($mailResult))
{
$ontvangers->addBcc($row['mailadres'], $row['naam']);
}
//Het aantal dat verzonden is opvragen
$number_sent = $swift->send($bericht, $ontvangers, "[email protected]");
echo 'Het bericht is verzonden naar ' . $number_sent . ' ontvangers.';
}
}
}
?>
Niet getest.
Gewijzigd op 01/01/1970 01:00:00 door --
Ik weet hoe mijn database er uit ziet.
table: email
table rows: ID->met auto increment en primary key
email->hier slaag ik de emails in op.
^^Hoe kan ik dat integreren in dat scriptje hierboven?
Dan pas je het stukje 'mailadressen ophalen' aan. Er staan ook nog wat e-mailadressen in die je nog moet aanpassen.
Swift Mailer klasse moeten downloaden, die wordt immers gebruikt in dat stukje script...
En uiteraard zul je de Owja, vergeten te zeggen. Vind het al zo vanzelfsprekend, haha :-)
Zal het morgen uitproberen.
Bij mij werkt het :)
Fatal error: Uncaught exception 'Swift_ConnectionException' with message 'The SMTP connection failed to start [localhost:25]: fsockopen returned Error Number 110 and Error String 'Connection timed out'' in /customers/buxonline.net/buxonline.net/httpd.www/lib/Swift/Connection/SMTP.php:309 Stack trace: #0 /customers/buxonline.net/buxonline.net/httpd.www/lib/Swift.php(216): Swift_Connection_SMTP->start() #1 /customers/buxonline.net/buxonline.net/httpd.www/lib/Swift.php(101): Swift->connect() #2 /customers/buxonline.net/buxonline.net/httpd.www/massmail.php(238): Swift->__construct(Object(Swift_Connection_SMTP)) #3 {main} thrown in /customers/buxonline.net/buxonline.net/httpd.www/lib/Swift/Connection/SMTP.php on line 309
Ik heb die name weg gedaan want ik heb geen namen in database, alleen emails
EDIT: Ik heb alleen de lib map van die class geupload, is het dat?
Gewijzigd op 01/01/1970 01:00:00 door Jelle Sturm