mailscript werkt niet

Status
Niet open voor verdere reacties.

Beetsma

Gebruiker
Lid geworden
28 mrt 2012
Berichten
83
Ik maak gebruik van een webserver op QWEB
onze mailserver is van kpn

Ik heb een mail script om contactberichten mee te kunnen versturen alleen als ik een mail wil verzenden doet ie het niet.
Ik krijg een internal server 500 error'.
weet iemand wat ik fout doe ? dit is mijn script

PHP:
<?php

// Verander de gegevens $EmailTo en $Subject
$EmailTo = "prive@hotmail.com";
$Subject = "contact aan ftp";
$voornaam = Trim(stripslashes($_POST['voornaam']));
$achternaam = Trim(stripslashes($_POST['achternaam']));
$bedrijfsnaam = Trim(stripslashes($_POST['bedrijfsnaam']));
$email = Trim(stripslashes($_POST['email']));
$bericht = Trim(stripslashes($_POST['bericht']));
$onderwerp = Trim(stripslashes($_POST['onderwerp']));

// !!!NIET AAN KLOOTEN!!! Valideert de gegevens
$validationOK=true;
if (Trim($voornaam)=="") $validationOK=false;
if (Trim($achternaam)=="") $validationOK=false;
if (Trim($bedrijfsnaam)=="") $validationOK=false;
if (Trim($bericht)=="") $validationOK=false;
if (Trim($email)=="") $validationOK=false;
if (Trim($onderwerp)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=..\php\contactfout.php\">";
  exit;
  

  } 




$bericht = nl2br($bericht); 

// Dit is de mail die naar jou verzonden wordt
$Body  = "<html><h3> Hieronder de gegevens van de contacteerder met daarin zijn/haar bericht: </h3><br>";
$Body .= "naam: ";
$Body .= $voornaam; // Voornaam veld
$Body .= "<br>";
$Body .= "achternaam: ";
$Body .= $achternaam; // achternaam veld
$Body .= "<br>";
$Body .= "bedrijfsnaam: ";
$Body .= $bedrijfsnaam; // bedrijfsnaam veld
$Body .= "<br>";
$Body .= "onderwerp: ";
$Body .= $onderwerp; // onderwerp veld
$Body .= "<br>";
$Body .= "email: ";
$Body .= $email; // De email van de verzender
$Body .= "<br>";
$Body .= "<br>";
$Body .= "<hr>";
$Body .= "<h3>bericht: "; //bericht van verzende
$Body .= "<br></h3>";
$Body .= "<br>";
$Body .= $bericht;
$Body .= "<hr>";


// Dit is de mail die naar de contactopnemer wordt verzonden (kopie van zijn verstuude bericht)
$Body2  = "<html><h3> Bedankt voor uw bericht, wij zullen uw bericht lezen en binnen 24 uur reageren d.m.v. een email<br> Hieronder een kopie van uw verstuurde bericht: </h3><br>";
$Body2 .= "<br>";
$Body2 .= "naam: ";
$Body2 .= $voornaam; // zo moet jou veld naam heten
$Body2 .= "\n";
$Body2 .= "<br>";
$Body2 .= "achternaam: ";
$Body2 .= $achternaam; // zo moet jou veld naam heten
$Body2 .= "\n";
$Body2 .= "<br>";
$Body2  .= "bedrijfsnaam: ";
$Body2  .= $bedrijfsnaam; // bedrijfsnaam veld
$Body2  .= "<br>";
$Body2 .= "onderwerp: ";
$Body2 .= $onderwerp; // zo moet jou veld naam heten
$Body2 .= "\n";
$Body2 .= "<br>";
$Body2 .= "email: ";
$Body2 .= $email; //zo moet jou text box heten
$Body2 .= "\n";
$Body2 .= "<br>";
$Body2 .= "<br>";
$Body2 .= "<hr>";
$Body2 .= "<h3>bericht: ";
$Body2 .= "\n";
$Body2 .= "<br></h3>";
$Body2 .= "<br></h3>";
$Body2 .= $bericht;
$Body2 .= "\n";
$Body2 .= "<hr>";
$Body2 .= "<br>";
$Body2 .= "<br>";
$Body2 .= "<h3> Met vriendelijke groet,<br><br> .</html>";

ini_set('SMTP', 'smtp.zakelijkmail.nl');
ini_set('smtp_port', 26);


$html =true;
$headers	 = ($html) ? 'MIME-Version: 1.0' . PHP_EOL : '';
$headers	.= ($html) ? 'Content-type: text/html; charset=iso-8859-1' . PHP_EOL : '';

// verzend de email naar jou
$success = mail($EmailTo , $Subject, $Body, "From: <$email>,$headers");
$success = mail($email , $Subject, $Body2, "From: <$email>,$headers");

// verzend meteen door naar 1 van de pagina's
if ($success){
  print "<meta http-equiv=\"refresh\" content=\"0;URL=..\php\contactgoed.php\">"; // dit is de pagina voor het goedkeuren
}
else{
  print "<meta http-equiv=\"refresh\" content=\"0;URL=..\php\contactfout.php\">"; // dit is de error pagina
}
?>
 
probeer eens voor de variabelen @ te plaatsen soms helpt dit
 
Sinds wanneer wordt SMTP mail afgeleverd op poort 26??

Lijkt mij dat regel 95 moet worden:
ini_set('smtp_port', 25);

Tijs.
 
Laatst bewerkt:
poort heb ik op 25 gezet werkt ook niet, @ vóór variabele heb ik nog nooit eerder van gehoord.

In de php.ini staat wel localhost bij smtp maar dat moet toch goed zijn.
Hier heb ik ook al de smtp van kpn ingevuld met poort 25, ook zonder succes.

iig bedankt.
 
Eerst maar eens een testmail zélf opstellen vanaf die QWEB server, via een telnet-test vanaf die QWEB server: link (paragraaf "SMTP")

Overigens denk ik wel te weten waar het probleem in zit: QWEB en KPN hebben helemaal niets met elkaar te maken. Dus ik vermoed dat je authenticatie bij de mailserver van KPN zult moeten doen vanaf de QWEB server voordat je effectief iets mag versturen. Dat zul je trouwens zelf wel merken als je de telnet-test doet en je mail niet (succesvol) wordt afgeleverd die je daar aanmaakt.

Tijs.
 
Verder: Het zou ook kunnen zijn dat QWEB (tegen spam etc. vanaf de daar gehoste webservers) poort 25 naar buiten heeft dichtgezet in de firewall. Check dus of het wel toegestaan is om rechtstreeks over poort 25 contact te zoeken met mailservers (zoals die van KPN). Overigens zul je dat ook merken tijdens de telnet-test van mijn vorige posting...

Tijs.
 
Eerst maar eens een testmail zélf opstellen vanaf die QWEB server, via een telnet-test vanaf die QWEB server: link (paragraaf "SMTP")

Overigens denk ik wel te weten waar het probleem in zit: QWEB en KPN hebben helemaal niets met elkaar te maken. Dus ik vermoed dat je authenticatie bij de mailserver van KPN zult moeten doen vanaf de QWEB server voordat je effectief iets mag versturen. Dat zul je trouwens zelf wel merken als je de telnet-test doet en je mail niet (succesvol) wordt afgeleverd die je daar aanmaakt.

Tijs.


heb je ook iets in het nederlands ?
bedankt trouwens ! :)
 
Is eigenlijk heel duidelijk:
Je logt interactief in op de QWEB server (bijv. op een Secure Shell of Extern Bureaublad van je server, dus afhankelijk van welk besturingssysteem er op draait).
Je opent een opdracht-prompt (bij Secure Shell heb je die al, CMD.EXE starten op een Windows server).
In/op de opdrachtprompt:
telnet smtp.zakelijkmail.nl 25
HELO bedrijfsnaam.nl
MAIL From:<afzender@bedrijfsnaam.nl>
RCPT To:<jouw_account@hotmail.com>
DATA
SUBJECT: Testbericht

Dit is een test
.
QUIT
Als het werkt (schat in van niet, zie verhaal over authenticatie) zou je (na die regel met alleen een '.' erop) een melding moeten krijgen dat de mail in de wachtrij is gezet voor aflevering.
Je kunt daarna op je hotmail account gaan kijken of het aangekomen is.
Als het niet werkt, dan krijg je van de mailserver aan de andere kant dat wel te horen. Als dingen worden geaccepteerd, dan krijg je een 250 melding, bij 'problemen' krijg je meldingen met een andere code.
PS: Type dingen in 1x goed in, want backspace heeft geen werking tijdens een sessie met een mailserver.

Tijs.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan