SMTP-authenticatie toevoegen formulieren
Probleem is dat ik er niet uit kom, heb internet afgeseurd van dingen geprobeerd, maar ik heb te weinig kennis van php.
Hieronder de 2 code stukken voor mijn 2 formulieren waar de smtp in moet worden verwerkt (nu dus zonder smtp)
Hoe moet de code zijn?
Code voor de contractformulier;
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
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
<?php
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$query = $_POST['message'];
$email_from = $name.'<'.$email.'>';
$to="[email protected]";
$subject="Bericht contactformulier SVN";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: ".$email_from."\r\n";
$message="
Naam:
$name
<br>
Email:
$email
<br>
Bericht:
$query
";
if(mail($to,$subject,$message,$headers))
header("Location:../contact.php?msg=Bedankt voor uw bericht.");
else
header("Location:../contact.php?msg=Error Email niet verzonden!");
//contact:[email protected]
}
?>
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$query = $_POST['message'];
$email_from = $name.'<'.$email.'>';
$to="[email protected]";
$subject="Bericht contactformulier SVN";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: ".$email_from."\r\n";
$message="
Naam:
$name
<br>
Email:
<br>
Bericht:
$query
";
if(mail($to,$subject,$message,$headers))
header("Location:../contact.php?msg=Bedankt voor uw bericht.");
else
header("Location:../contact.php?msg=Error Email niet verzonden!");
//contact:[email protected]
}
?>
-------------------------------------------------------------------------------------------------------
En hieronder de code voor het lidmaatschap formulier;
-------------------------------------------------------------------------------------------------------
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
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
<?php
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Actions.php
* bestelling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
$mode = $_GET["mode"];
if($mode == "Bestelling"){
echo"<html>
<head>
<title>Lidmaatschap aanmelding</title>
</head>
<body>
Uw bericht wordt verzonden...
</body>
</html>";
$naam = $_POST["naam"];
$adres = $_POST["adres"];
$postcode1 = $_POST["postcode1"];
$woonplaats = $_POST["woonplaats"];
$land = $_POST["land"];
$telefoonnummer = $_POST["telefoonnummer"];
$email = $_POST["email"];
$bank = $_POST["bank"];
$hond = $_POST["hond"];
$geslacht = $_POST["geslacht"];
$stamboom = $_POST["stamboom"];
$type = $_POST["type"];
$datum = $_POST["datum"];
$vader = $_POST["vader"];
$moeder = $_POST["moeder"];
$fokker = $_POST["fokker"];
$opmerkingen = nl2br($_POST["opmerkingen"]);
$afzender = "$naam <$email>";
$aan = "<[email protected]>";
$onderwerp = "Lidmaatschap aanmelding van $naam";
$msg = "Lidmaatschap aanmelding op ikke: $naam
<br/><strong style='width: 160px;'>naam:</strong> $naam
<br/><strong style='width: 160px;'>adres:</strong> $adres
<br/><strong style='width: 160px;'>postcode:</strong> $postcode1
<br/><strong style='width: 160px;'>woonplaats:</strong> $woonplaats
<br/><strong style='width: 160px;'>land:</strong> $land
<br/><strong style='width: 160px;'>telefoonnr:</strong> $telefoonnummer
<br/><strong style='width: 160px;'>email:</strong> $email
<br/><strong style='width: 160px;'>bank:</strong> $bank
<br/><strong style='width: 160px;'>naam van hond:</strong> $hond
<br/><strong style='width: 160px;'>geslacht:</strong> $geslacht
<br/><strong style='width: 160px;'>stamboomnummer:</strong> $stamboom
<br/><strong style='width: 160px;'>stamboom type:</strong> $type
<br/><strong style='width: 160px;'>geboortedatum:</strong> $datum
<br/><strong style='width: 160px;'>vader van de hond:</strong> $vader
<br/><strong style='width: 160px;'>moeder van de hond:</strong> $moeder
<br/><strong style='width: 160px;'>fokker:</strong> $fokker
<br/><strong style='width: 160px;'>extra opmerkingen:</strong> $opmerkingen";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $afzender\r\n";
$mail = mail($aan, $onderwerp, $msg, $headers);
if($mail){
echo "<script type='text/javascript'>location.href='mailing.html';</script>";
}else{
echo "<script type='text/javascript'>location.href='error.html';</script>";
}
}
?>
/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Actions.php
* bestelling
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
$mode = $_GET["mode"];
if($mode == "Bestelling"){
echo"<html>
<head>
<title>Lidmaatschap aanmelding</title>
</head>
<body>
Uw bericht wordt verzonden...
</body>
</html>";
$naam = $_POST["naam"];
$adres = $_POST["adres"];
$postcode1 = $_POST["postcode1"];
$woonplaats = $_POST["woonplaats"];
$land = $_POST["land"];
$telefoonnummer = $_POST["telefoonnummer"];
$email = $_POST["email"];
$bank = $_POST["bank"];
$hond = $_POST["hond"];
$geslacht = $_POST["geslacht"];
$stamboom = $_POST["stamboom"];
$type = $_POST["type"];
$datum = $_POST["datum"];
$vader = $_POST["vader"];
$moeder = $_POST["moeder"];
$fokker = $_POST["fokker"];
$opmerkingen = nl2br($_POST["opmerkingen"]);
$afzender = "$naam <$email>";
$aan = "<[email protected]>";
$onderwerp = "Lidmaatschap aanmelding van $naam";
$msg = "Lidmaatschap aanmelding op ikke: $naam
<br/><strong style='width: 160px;'>naam:</strong> $naam
<br/><strong style='width: 160px;'>adres:</strong> $adres
<br/><strong style='width: 160px;'>postcode:</strong> $postcode1
<br/><strong style='width: 160px;'>woonplaats:</strong> $woonplaats
<br/><strong style='width: 160px;'>land:</strong> $land
<br/><strong style='width: 160px;'>telefoonnr:</strong> $telefoonnummer
<br/><strong style='width: 160px;'>email:</strong> $email
<br/><strong style='width: 160px;'>bank:</strong> $bank
<br/><strong style='width: 160px;'>naam van hond:</strong> $hond
<br/><strong style='width: 160px;'>geslacht:</strong> $geslacht
<br/><strong style='width: 160px;'>stamboomnummer:</strong> $stamboom
<br/><strong style='width: 160px;'>stamboom type:</strong> $type
<br/><strong style='width: 160px;'>geboortedatum:</strong> $datum
<br/><strong style='width: 160px;'>vader van de hond:</strong> $vader
<br/><strong style='width: 160px;'>moeder van de hond:</strong> $moeder
<br/><strong style='width: 160px;'>fokker:</strong> $fokker
<br/><strong style='width: 160px;'>extra opmerkingen:</strong> $opmerkingen";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $afzender\r\n";
$mail = mail($aan, $onderwerp, $msg, $headers);
if($mail){
echo "<script type='text/javascript'>location.href='mailing.html';</script>";
}else{
echo "<script type='text/javascript'>location.href='error.html';</script>";
}
}
?>
<head><title></title></head>
Waarom gebruik je geen phpMailer?
phpMailer heb ik naar gekeken, maar dat is voor mij geen optie
De mail() functie zelf ondersteunt dit overigens niet.
Gewijzigd op 29/03/2017 17:46:08 door - Ariën -
Wat bedoel je met; De mail() functie zelf ondersteunt dit overigens niet.
Die laatste is wel snel te implementeren. Met het bijkomende voordeel dat je jezelf niet hoeft te bekommeren om de headers.
Gewijzigd op 29/03/2017 18:00:23 door - Ariën -
Dus wat ik wil kan niet? bedoel je dat?
phpMailer is veel handiger in gebruik, makkelijker te debuggen en eveneens snel te implementeren.
$smtp_van
$smtp_naar
$onderwerp
$bericht
door je eigen variabelen.
en
$host
$username
$password
door jouw smtp gegevens
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$headers = array ('MIME-Version' => '1.0rn',
'Content-Type' => "text/html; charset=ISO-8859-1rn",
'From' => $smtp_van,
'To' => $smtp_naar,
'Subject' => $onderwerp );
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $wachtwoord));
$mail = $smtp->send($smtp_naar, $headers, $bericht);
if (PEAR::isError($mail)) {
code voor errormelding
} else {
code voor geslaagd
}
?>
$headers = array ('MIME-Version' => '1.0rn',
'Content-Type' => "text/html; charset=ISO-8859-1rn",
'From' => $smtp_van,
'To' => $smtp_naar,
'Subject' => $onderwerp );
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $wachtwoord));
$mail = $smtp->send($smtp_naar, $headers, $bericht);
if (PEAR::isError($mail)) {
code voor errormelding
} else {
code voor geslaagd
}
?>
Toevoeging op 29/03/2017 20:03:11:
O, en je moet even de pear mail class includen. Als je host pear geinstalleerd heeft dan is dit stukje code daarvoor afdoende:
include_once ('Mail.php');
phpMailer krijg ik niet geïnstalleerd, bestanden geupload maar nergens zie ik een installatie pagina
En pear (wat ik voor mijn vraag op het forum ook al had geprobeerd) stuurt niets, ik krijg alleen een wit scherm te zien na verzending.
Uploaden, de class aanroepen, de functies ervan en klaar.
Bekijk de manual eens.
Je moet alleen het bestand van PHPMailer in je eigen script includen, niets met een installatie pagina.
Als ik het heeeel simpel zeg, ik lees bla bla bla.
Ik snap er niets van :(
Heb je de samples al gezien? En ik denk datje hier het meeste aan hebt.
Gewijzigd op 29/03/2017 22:23:53 door - Ariën -
1) Leerboeken pakken en zorgen dat je het wel gaat begrijpen
2) Opdracht verlenen aan iemand die het wel begrijpt (Vacature plaatsen)
Gewijzigd op 29/03/2017 23:46:04 door Frank Nietbelangrijk
ik weet niet wat ik moet doen, ik zie allemaal tekst en voorbeelden, maar ik weet niet wat waar moet en hoe en waarom en wat ik nog moet aanpassen en wat niet en hoe en ga zo maar even door.
Ik hoopte op een want simpele oplossing ala pear of iets dergelijks wat ik even kon kopiëren en erin kon plakken
Maar dit gaat mij me pet te boven
@frank
Ik had gisteren al op diverse plaatsen offertes aangevraagd, 1 reactie gehad (5 uur 450 euro) (oke als ik het door een bedrijf laat doen dan helemaal even doorlichten en verbeteren enzo), maar daar schrok ik zo van dat ik probeer het zelf te doen, maar helaas......
Download heel phpMailer eens, en speel eens met de example.
90 euro per uur is wel erg fors Anton. Ik weet zeker dat je stukken goedkoper uit kunt zijn als je hier een vacature plaatst.
Gewijzigd op 30/03/2017 00:06:15 door - Ariën -
Frank Nietbelangrijk op 30/03/2017 00:00:54:
90 euro per uur is wel erg fors Anton. Ik weet zeker dat je stukken goedkoper uit kunt zijn als je hier een vacature plaatst.
90 euro per uur fors? Noem het maar gewoon afzetten. Vooral met dit, om een PHP formulier om te bouwen naar SMTP.. Is nog geen half uurtje werk en hun rekenen er 5 voor. Geen idee welk bedrijf dat is maar die probeert gewoon even makkelijk geld te verdienen...
@topicstarter, toevallig versio waar je host?
Begin een scriptje genaamd test.php.
Download de 2 of 3 scripts waaruit PHPMailer eigenlijk maar bestaat.
volg een aantal van de voorbeelden op de phpmailer site. http://phpmailer.worxware.com/?pg=examples
Een van de voorbeelden gaat zelfs over smtp...
Je zult zien dat je test.php veel korter en eenvoudiger uit kan zien dan jouw script. En dan doel ik met name op de header-regels om mime-types, afzender, CC, BCC en karakterset in te stellen.
Met een uurtje zou je wel een paar van die voorbeelden hebben kunnen doorlopen.
Daarna pas je PHPMailer toe in jouw scripts.
Voila, 450 euro verdiend... :-)
En als je nog een site op die manier bijwerkt, heb je zelfs 900 euro verdiend.