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>
De DNS is ook niet geheel correct.
het poortnummer klopt: je debug informtie toont aan dat je met een mailserver zit te praten. (exim)

587 is de primaire optie om mail aan te bieden voor verzending. Met papieren-post te vergelijken met het moment dat je de post in de bus op de hoek van de straat gooit.

Poort 25 is bedoeld om de mail van de ene naar de andere mailserver door te zetten: het moment dat het busje dat de brievenbussen heeft leeggehaald, aankomt op het sorteercentrum en alle stappen verder tot de postbode met zijn fiets.


Daarom ben ik benieuwd of dit een fictieve URL is.
In dat geval is het handig het voortaan te melden, voordat we conclusies trekken die misschien onnodig zijn ;-)
Sorry voor de verwarring.
drama.nl is idd fictief, ik had hier al andere fictieve namen gebruikt en nu was het drama omdat het drama is.
Ik wil niet de werkelijke website hier vermelden ivm zoekmachines,
De werkelijke website is wel gewoon online en werkt
Anton Willem op 30/03/2017 18:26:47

Ik wil niet de werkelijke website hier vermelden ivm zoekmachines,
De werkelijke website is wel gewoon online en werkt

lang leve leestekens en de spatiebalk. ;-)
Misschien moeten we maar eens een members-only UBB-tag maken voor op de site, om dit te voorkomen ;-)
Heb heb de laatste script laten zien aan mijn webhost met de vraag kloppen de wachtwoorden e.d.

Zijn reactie was;
Poort adres moet $mail->Port = 25; // zijn
En ook belangrijk is de TLS moet ook uit staan in uw script.

Maar wat is tls en hoe zet je dat uit?

Verder kwam hij met een andere oplossing, dat is een eigen mail code systeem van zijn bedrijf, hier ga ik nu ook mee aan de slag mocht het bovenstaande een dood spoor blijken te zijn
$mail->SMTPSecure = false; gebruiken.
Dan wordt er geen tls noch ssl gebruikt.
nee werkt niet.

Maar de mail code systeem van de host lijkt te werken, dus daar ga ik maar mee verder.

Iedereen iedergeval bedankt voor de hulp
Raar dat phpMailer niet werkt. Blijkbaar heeft hij hele vreemde exotische instellingen.
Op welke manier werkt dat systeem van je hosting dan?

Reageren