SMTP-authenticatie toevoegen formulieren
Pagina: « vorige 1 2 3 4 volgende »
Dit is de code die ik nu heb, mail moet naar de [email protected]
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
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
<?php
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.zegiklekkerniet.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheim";
$mail->addAddress('[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";
$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]
}
?>
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.zegiklekkerniet.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheim";
$mail->addAddress('[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";
$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]
}
?>
@ joakim, nee
@ ivo, ik zal er naar kijken
Wa je nu doet, komt neer op:
- phpmailer aanroepen
- phpmailer een stukje vullen
- daarna doe je niets meer met phpmailer en val je terug op je oude script met mail() erin
Kijk in een voorbeeld hoe je phpmailer moet gebruiken.
nou vooruit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.zegiklekkerniet.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheim";
$mail->addAddress('[email protected]');
$mail->Body = 'dit is de inhoud. bijv. $message';
if($mail->Send()) {
echo 'yeh';
}
else {
echo 'oei';
}
?>
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.zegiklekkerniet.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheim";
$mail->addAddress('[email protected]');
$mail->Body = 'dit is de inhoud. bijv. $message';
if($mail->Send()) {
echo 'yeh';
}
else {
echo 'oei';
}
?>
?>
Toevoeging op 30/03/2017 10:56:43:
nb: niet met header- location van de pagina springen bij het ontwikkelen: je ziet dan met een beetje pech de foutmeldingen niet meer.
https://github.com/PHPMailer/PHPMailer/blob/master/examples/smtp.phps. Daar staat een voorbeeld met commentaar... En als je dat vergelijkt met je laatst gestuurde script, dan zie je van zelf wat je fout doet.
1: Je roept de PHPMailer class niet aan, je begint gelijk met "$mail->SMTPDebug = 2;"... Maar waar komt $mail vandaan? Die moet je toch echt eerst aanmaken met "$mail = new PHPMailer;"... Daarom krijg je ook een wit scherm, PHP geeft een error. Zet PHP error reporting even aan ;-)
2: Je stelt mooi SMTP en alles in, allemaal leuk en aardig maar vervolgens doe je er niks mee want je wil de mail nog steeds versturen met de standaard mail() functie. De mail moet je dus wel versturen met PHPMailer, dus door $mail->send().
Kijk gewoon goed na het voorbeeld, en lees goed wat er gebeurd.
Anton, 1: Je roept de PHPMailer class niet aan, je begint gelijk met "$mail->SMTPDebug = 2;"... Maar waar komt $mail vandaan? Die moet je toch echt eerst aanmaken met "$mail = new PHPMailer;"... Daarom krijg je ook een wit scherm, PHP geeft een error. Zet PHP error reporting even aan ;-)
2: Je stelt mooi SMTP en alles in, allemaal leuk en aardig maar vervolgens doe je er niks mee want je wil de mail nog steeds versturen met de standaard mail() functie. De mail moet je dus wel versturen met PHPMailer, dus door $mail->send().
Kijk gewoon goed na het voorbeeld, en lees goed wat er gebeurd.
@ ivo dit heb ik dan nu, maar ik krijg een wit scherm
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
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
<?php
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.zegiklekkerniet.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheim";
$mail->addAddress('[email protected]');
$mail->Body = '$message="
Naam:
$name
<br>
Email:
$email
<br>
Bericht:
$query
";
if($mail->Send()) {
echo 'Bedankt voor uw bericht.';
}
else {
echo 'Error Email niet verzonden!';
}
?>
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.zegiklekkerniet.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheim";
$mail->addAddress('[email protected]');
$mail->Body = '$message="
Naam:
$name
<br>
Email:
<br>
Bericht:
$query
";
if($mail->Send()) {
echo 'Bedankt voor uw bericht.';
}
else {
echo 'Error Email niet verzonden!';
}
?>
op regel 5 mis je
$mail = new phpmailer();
Toevoeging op 30/03/2017 11:36:39:
en:
http://www.pfz.nl/wiki/troubleshooter/#stap-1-regel-een-foutmelding
Toevoeging op 30/03/2017 11:37:48:
ah
en je scherm is wit wegens een parse error.
Zie hoe op jouw regel 27 de tekst rood blijft. op regel 26 mis je voor de punt-komma nog een '
ik krijg nu een foutmelding
Could not instantiate mail function.
Error Email niet verzonden!
Ik heb op de troubleshooter link gezocht maar daar zag ik hem niet tussen staan
Dat is nu gelukt.
Kijk eens naar een voorbeeld
http://phpmailer.worxware.com/index.php?pg=exampleasmtp
jij mist bijvoorbeeld de aanroep: $mail->IsSMTP();
daarmee zou je aangeven dat er mail via smpt verstuurd moet worden...
ik heb de user name en password van ftp geprobeerd en een gebruikersnaam en wachtwoord van een mail, maar niets...
SERVER -> CLIENT: 220 ProFTPD 1.3.5a Server ready.
CLIENT -> SERVER: EHLO www.omg.nl
SERVER -> CLIENT:
SMTP ERROR: EHLO command failed:
SMTP NOTICE: EOF caught while checking if connected
SMTP Error: Could not authenticate.
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Error Email niet verzonden!
huidige code;
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
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
<?php
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail = new phpmailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.dewebsite.nl";
$mail->Port = 21;
$mail->SMTPAuth = true;
$mail->Username = "inlogftp";
$mail->Password = "geheim";
$mail->addAddress('[email protected]');
$mail->Body = '$message="
Naam:
$name
<br>
Email:
$email
<br>
Bericht:
$query
"';
if($mail->Send()) {
echo 'Bedankt voor uw bericht.';
}
else {
echo 'Error Email niet verzonden!';
}
?>
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail = new phpmailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.dewebsite.nl";
$mail->Port = 21;
$mail->SMTPAuth = true;
$mail->Username = "inlogftp";
$mail->Password = "geheim";
$mail->addAddress('[email protected]');
$mail->Body = '$message="
Naam:
$name
<br>
Email:
<br>
Bericht:
$query
"';
if($mail->Send()) {
echo 'Bedankt voor uw bericht.';
}
else {
echo 'Error Email niet verzonden!';
}
?>
Gewijzigd op 30/03/2017 12:46:46 door Anton Willem
Is geen mailserver maar ftpserver
Quote:
Ik heb de user name en password van ftp geprobeerd en een gebruikersnaam en wachtwoord van een mail, maar niets..
Waarom van de FTP? Je wilt iets mailen, en daar heb je geen FTP bij nodig.
Of de wachtwoorden moeten toevallig gelijk zijn, maar dan moet je niet over FTP beginnen ;-)
Ik zou poort 25 proberen of 587.
Gewijzigd op 30/03/2017 12:52:47 door - Ariën -
SERVER -> CLIENT: 220 d175.webcreators.nl ESMTP Exim 4.86 Thu, 30 Mar 2017 12:55:12 +0200
CLIENT -> SERVER: EHLO www.poepoe.nl
SERVER -> CLIENT: 250-d175.webcreators.nl Hello d175.webcreators.nl [92.48.206.111]250-SIZE 20971520250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250-STARTTLS250 HELP
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 TLS go ahead
SMTP Error: Could not connect to SMTP host.
CLIENT -> SERVER: QUIT
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Error Email niet verzonden!
Gewijzigd op 30/03/2017 13:01:38 door - Ariën -
jazeker, ik heb een aangemaakte mail adres gebruikt met diens wachtwoord en beiden poorten
Gewijzigd op 30/03/2017 13:04:10 door - Ariën -
Toevoeging op 30/03/2017 13:05:08:
nee, dat live adres is enkel waar ik de mail heen wil hebben, ik log in op een mailadres van de website
Waar is je setFrom parameter? De mailserver graag wil weten vanaf welke mailadres er namelijk gemaild wordt. Ik denk dat dat wel eens de bottleneck kan zijn.
SERVER -> CLIENT: 220 d175.webcreators.nl ESMTP Exim 4.86 Thu, 30 Mar 2017 13:16:46 +0200
CLIENT -> SERVER: EHLO www.drama.nl
SERVER -> CLIENT: 250-d175.webcreators.nl Hello d175.webcreators.nl [92.48.206.111]250-SIZE 20971520250-8BITMIME250-PIPELINING250-AUTH PLAIN LOGIN250-STARTTLS250 HELP
CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 TLS go ahead
SMTP Error: Could not connect to SMTP host.
CLIENT -> SERVER: QUIT
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
Error Email niet verzonden!
hier is de laatste code
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
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
<?php
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail = new phpmailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.drama.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheimdrama";
$mail->AddReplyTo('[email protected]');
$mail->addAddress('[email protected]');
$mail->SetFrom('[email protected]');
$mail->AddReplyTo('[email protected]');
$mail->Subject = 'Contact formulier';
$mail->Body = '$message="
Naam:
$name
<br>
Email:
$email
<br>
Bericht:
$query
"';
if($mail->Send()) {
echo 'Bedankt voor uw bericht.';
}
else {
echo 'Error Email niet verzonden!';
}
?>
date_default_timezone_set('Etc/UTC');
require '../PHPMailerAutoload.php';
$mail = new phpmailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "mail.drama.nl";
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "geheimdrama";
$mail->AddReplyTo('[email protected]');
$mail->addAddress('[email protected]');
$mail->SetFrom('[email protected]');
$mail->AddReplyTo('[email protected]');
$mail->Subject = 'Contact formulier';
$mail->Body = '$message="
Naam:
$name
<br>
Email:
<br>
Bericht:
$query
"';
if($mail->Send()) {
echo 'Bedankt voor uw bericht.';
}
else {
echo 'Error Email niet verzonden!';
}
?>
En de andere poort al geprobeerd? En wat zegt je webhosting over zijn configuratie van zijn mailserver?
Inkomende mail
POP/IMAP Server : mail.drama.nl
Poort : 110 (POP) of 143 (IMAP)
Uitgaande mail
SMTP Server : SMTP server van uw ADSL of kabelprovider*
Indien u gebruik wenst te maken van de SMTP server behorende bij uw hosting account dan dient u bij SMTP de volgende instellingen te gebruiken:
SMTP Server : mail.drama.nl
Poort : 25 of 587 (afhankelijke welke openstaat bij uw adsl/kabel/mobiel provider). Wij adviseren poort 587 te gebruiken.
Authentication : Aanvinken
Gebruikersnaam : Uw e-mailadres, gelijk aan inkomende mail
Wachtwoord : Uw wachtwoord, gelijk aan inkomende mail
SSL : NIET aanvinken
Want het is een keuze die je gesteld wordt. En ik neem aan dat drama.nl fictief is, want ik krijg hier een SEO-linkpage te zien. Just for the record.