Onlangs heeft mijn hosting bedrijf een wijziging doorgevoerd, namelijk; dat SMTP-authenticatie verplicht is in 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;


<?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]
}
?>




-------------------------------------------------------------------------------------------------------
En hieronder de code voor het lidmaatschap formulier;
-------------------------------------------------------------------------------------------------------


<?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>";
}
}
?>
<head><title></title></head>
dit is dan nu de foutmelding

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!
Wat heb je nu dan ingesteld? Wel netjes de username van password van je mail? En beide poorten al geprobeerd? Het kan ook zijn dat ze je @live.nl adres niet accepteren, en enkel het mailadres die bij je SMTP-server hoort.
jazeker, ik heb een aangemaakte mail adres gebruikt met diens wachtwoord en beiden poorten
Gebruik je nou de inlog van je @live-adres om in te loggen op de SMTP van je webhosting?
dat van het live adres heb ik nu getest maar dat maakt geen verschil

[size=xsmall]Toevoeging op 30/03/2017 13:05:08:[/size]

nee, dat live adres is enkel waar ik de mail heen wil hebben, ik log in op een mailadres van de website
Ah, ik zie het al....
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.
Ook dat had ik al geprobeerd, maar dan krijg ik dit;
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

<?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!';
}
?>
En de andere poort al geprobeerd? En wat zegt je webhosting over zijn configuratie van zijn mailserver?
jep, ook de andere poort geprobeerd

MAIL

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
En als je die van je ISP zelf gebruikt i.p.v. die van je hosting?
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.

Reageren