Gaat ie dan met een paar vragen,maar eerst wat info.

Heb een eigen win.2003 enterprise r2

Daarop draaien 2 website's in html en ISS is aanwezig

Ook heb ik php een install gegeven(5.2.6.6),en volgens mijn alles goed staan.

Heb een script voor mail te versturen via mijn site,
1 gedeelt in php en 1 gedeelt in html.

Vraag 1: hoe en in welke map,bv de php map,plaats ik de 2 bestanden om het form te versturen?
Vraag 2 : Moet ik nog iets in de .ini aanpassen om de mail verstuurd te krijgen?
Vraag 3 :heb ik soms nog een mail server nodig die ik een install.moet geven op de win.2003? (outlook express loopt namelijk ook)

Naar veel uitproberen heb ik wel eens een keer gezien dat er een mail word verstuurd maar nog niet heb mogen ontvangen.

Ja de vragen van waarom host je hem niet ergens bij een hosting comp.kan ik kort in zijn,,WIL het graag zelf doen en uitvinden.

Misschien dat er iemand is de deze noob op PHP gebied verder wil helpen en zijn wensen,i.v.m het mail form,wil laten slagen.

Alvast mijn dank hiervoor.


vraag 3: Outlook express heeft niks met een mail server te maken. Je kan er voor kiezen om een mail service te installeren, maar dat hoeft niet.
Dat brengt me bij Vraag 2: Als je een mail service installeerd moet je SMTP in je php.ini aanpassen naar localhost. Als je geen mail service installeerd kan je ook e-mails versturen, maar dan moet je SMTP instellen naar de SMTP server van je isp, bijvoorbeeld: mail.upcmail.nl

Het kan ook handig zijn een waarde voor sendmail_from in de php.ini op te geven.
Stuur een copy van mijn ini en een copy van mijn script mee.
Waar ga ik nu in de fout,want als ik de smtp invul en mijn E-mail adress,zo ook in het php script,krijg ik een melding dat ik geen geldig E-mail adress heb gebruikt,kan mijn eigen wel E-mails sturen via outlook.

------------ INI------------------------------
[mail function]
; For Win32 only.
SMTP = smtp.isblablabla.nl
smtp_port = 25

; For Win32 only.
;sendmail_from [email protected]

---------------PHP SCRIPT---------------------------------



<?php

$sWebsitenaam = "http://www.jajajaja.nl";; //vul hier de naam van jouw website in

$sMail = "[email protected]"; //Het e-mailadres waarnaar de mail word gestuurd. Voor meerdere adressen, scheid de emailadressen met een comma.
$bHTML = TRUE; //Bij TRUE word er een HTML-mail gestuurd. Bij FALSE een plain-text-mail $sOnderwerp = "Mailformulier website"; //Vul hier een onderwerp in. Dit word het onderwerp wanneer er geen ondewerp is opgegeven of als $bOnderwerp op TRUE staat
$bOnderwerp = FALSE; //TRUE als bovenstaand onderwerp altijd gebruikt zal worden. FALSE wordt er eerst gekeken of er een onderwerp in het formulier voor komt

$bBedanktmail = TRUE; //Moet er een bedankt mailtje gestuurd worden aan die gene die verstuurde? (e-mail invoerveld is dan dus verplicht)
$sBedanktmail = "Bedankt voor je e-mailbericht. Wij geven, indien nodig, zo spoedig mogelijk een reactie."; //de tekst van het bedank mailtje
$sBedanktfrom = "[email protected]"; //vanaf welk adres moet dit bedankmailtje vestuurd worden?
$sBedanktsubj = "Bedankt!"; //dit is het ondewerp van het bedanktmailtje

$bBedanktTxt = FALSE; //TRUE als onderstaande tekst als bedankje moet worden weergegeven, FALSE als er moet worden doorgestuurd naar de pagina welke hieronder is aangegeven
$sBedanktTxt = "De e-mail is verzonden."; //bedankt text
$sBedanktURL = "http://www.jouwsite.nl/bedankt.html";;; //bedankt url

#########################
# End Configuration #
#########################

if (count($_POST) > 0)
{
//controleer of de $bHTML wel fatsoenlijk is ingesteld
if(!is_bool($bHTML))
{
print("De configuratie is onjuist. Zorg dat je bij <font color=blue><i>$bHTML</i></font> een booleaanse waarde (TRUE of FALSE) hebt ingevuld. Letop: Hier moeten geen quotes ( \" of ') omheen!");
exit;
}
$errors = array();//definieer arrray voor de errormeldingen
$aKeys = array_keys($_POST); //pak alle arraykeys in een arraytje
foreach($_POST as $key=>$value)
{
$_POST[$key] = trim($value); //maak alle waarden netjes
}
foreach($aKeys as $key=>$value)
{
$aKeys[$key]=strtolower($value);//maak alle waarden in kleine letters
}

$aMail = explode(",",$sMail);
$aDomein = explode("@",$sMail[0]);
$sDomein = $aMail[1];

//mail detectie
if (in_array("mail",$aKeys)) { $sFrom = $_POST['mail']; }
elseif (in_array("email",$aKeys)) { $sFrom = $_POST['email']; }
elseif (in_array("e-mail",$aKeys)) { $sFrom = $_POST['e-mail']; }
elseif (in_array("1mail",$aKeys)) { $sFrom = $_POST['1mail']; }
elseif (in_array("1email",$aKeys)) { $sFrom = $_POST['1email']; }
elseif (in_array("1e-mail",$aKeys)) { $sFrom = $_POST['1e-mail']; }
else
{
$sFrom = "postmaster@".$sDomein;
$bBedanktmail = FALSE;
}

if ($bOnderwerp)
{
$sSubject = $sOnderwerp;
}
else
{
if (in_array("onderwerp",$aKeys)) { $sSubject = $_POST['onderwerp']; }
elseif (in_array("subject",$aKeys)) { $sSubject = $_POST['subject']; }
elseif (in_array("1onderwerp",$aKeys)) { $sSubject = $_POST['1onderwerp']; }
elseif (in_array("1subject",$aKeys)) { $sSubject = $_POST['1subject']; }
else { $sSubject = $sOnderwerp; }
}



//controle emailadres
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$",$sFrom))
{
$error[] = "Het opgegeven e-mail adres is niet geldig.";
}
//check alle verplichte velden
foreach($_POST AS $key => $value)
{
if(substr($key,0,1) == 1)
{
if (empty($_POST[$key]))
{
$name = substr($key,1);
$error[] = "Het veld <i>'".$name."'</i> is verplicht en moet worden ingevuld.";
}
}
}

//als er een error was
if (isset($error) && count($error) > 0)
{
//poep alle errors uit
print("<ul style=\"list-style: none; color: red;\">\n");
foreach($error as $value)
{
print("\t<li>".$value."</li>\n");
}
print("</ul>");
}
else
{
$headers = "MIME-Version: 1.0\n";
$headers .= "From: ".$sWebsitenaam." <".$sFrom.">\n";
$headers .= "Reply-to: ".$sWebsitenaam." <noreply@".$sDomein.">\n";
$headers .= ($bHTML) ? "Content-Type: text/html; charset=iso-8859-1\n" : "Content-Type: text/plain; charset=iso-8859-1\n";

$sContent = "Dit is een automatisch gegenereerd e-mailbericht die vanaf je site is verstuurd.\n\n";
foreach($_POST as $key => $value)
{
if (substr($key,0,1) == 1) { $key = substr($key,1); }
$sContent .= ucfirst(strtolower($key)).": ".$value."\n\n";
}
$sContent .= "IP: ".$_SERVER['REMOTE_ADDR']."\n\n";
$sContent .= "Tijdstip: ".date("D j M, Y G:i")."\n\n";

$enter = "
";
$sContent = ($bHTML) ? nl2br(htmlspecialchars($sContent)) : str_replace("\n",$enter,$sContent) ;

foreach ($aMail as $sMailAdress)
{
mail(trim($sMailAdress),$sSubject,$sContent,$headers);
}

if ($bBedanktmail)
{
$sBedanktmail = ($bHTML) ? nl2br(htmlspecialchars($sBedanktmail)) : str_replace("\n",$enter,$sBedanktmail) ;
mail($sFrom,$sBedanktsubj,$sBedanktmail,$headers);
}



if (isset($bBedanktTxt) && $bBedanktTxt == TRUE)
{
print($sBedanktTxt);
}
else
{
ob_clean();
header("location: $sBedanktURL");
print('<meta http-equiv=refresh content="0; url='.$sBedanktURL.'">');
}
}
}
else
{
print("<form action=\"".$_SERVER['REQUEST_URI']."\" METHOD=\"POST\">\n"); ?>
<!-- Zet hieronder je formulier neer -->
<html><head><title></title><style>
.text { FONT-SIZE: 12px; COLOR: white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-DECORATION: bold
}
</style></head><body bgcolor="#000000">
<form method="post" action="Mail form.php" enctype="multipart/form-data" name="form">
<table border="0" width="482" cellspacing="0" cellpadding="0">
<tr>
<td width="169" class="text">Naam:</td>
<td width="313"><input type="text" name="NAAM" size="41"></td>
</tr>
<tr>
<td width="169" class="text">Voornaam:</td>
<td width="313"><input type="text" name="VOORNAAM" size="41"></td>
</tr>
<tr>
<td width="169" class="text">Geslacht:</td>
<td width="313" class="text"><input type="radio" value="MAN" checked name="GESLACHT">Man
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="radio" value="VROUW"
name="GESLACHT">Vrouw</td>
</tr>
<tr>
<td width="169" class="text">U vraag op/aanmerking.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td width="313"><textarea rows="9" name="BIJZONDERHEDEN" cols="33"></textarea></td>
</tr>
</table><br><input type="submit" value="Formulier versturen"></form>
</body>
</html>


<!-- Einde formulier -->
<? } ?>
Windows?
Haal die ; dan weg.
;sendmail_from [email protected]

Pas je script even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Gebruik je knop om dit te doen.

SanThe.
Krijg steeds de melding.

Sta naar bijna 3 weken op het punt van opgeven..


Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Inetpub\wwwroot\contactformulier.php on line 35
Contact formulier verzenden is mislukt!

Sta naar bijna 3 weken op het punt van opgeven..

Heb alles al een keer in de ini aangepast tot op heden zonder resultaat.Nu eerst een paar uurtje slapen.
Krijg je altijd die melding met localhost er in? Ook als je de SMTP in je php.ini hebt aangepast?
Als dat zo is vraag ik me af of je in de goede php.ini zit te werken.

Zo niet, gebruik je wel de smtp van je isp? Een andere smtp vereist waarschijnlijk dat je moet inloggen en zover ik weet kan dat niet, tenzij je iets als phpmailer gebruikt om je e-mails te verzenden.
En na aanpassen van php.ini altijd de webserver opnieuw starten.
Boaz schreef op 11.07.2008 00:12
Krijg je altijd die melding met localhost er in? Ook als je de SMTP in je php.ini hebt aangepast?
Als dat zo is vraag ik me af of je in de goede php.ini zit te werken.

Heb in de ini,die ik gebruik via->start-programs-PHP5-php.ini,aangepast met eerdere copy paste.
Daar alleen de regels bij windows anngepast,en kreeg de melding.

Boaz schreef op 11.07.2008 00:12

Zo niet, gebruik je wel de smtp van je isp? Een andere smtp vereist waarschijnlijk dat je moet inloggen en zover ik weet kan dat niet, tenzij je iets als phpmailer gebruikt om je e-mails te verzenden.

Ja gebruik de smtp van mijn provider,ook die heb ik in de ini veranderd.
Ook de ; verwijderd,telkens naar het aanpassen van de ini de server een reboot gegeven.
Ik ga even een full back terug zetten en geheel over nieuw beginnen.
Heb inmiddels hoofdpijn en vierkante ogen,hihi

Ps.als ik er geheel niet uitkom een prive mail een oplossing???.
Misschien dat U via RDP mijn verder op weg kan helpen
Misschien moet je het eens proberen met de php.ini onder C:\windows\

Het mooiste is natuurlijk als het via het forum lukt, daar hebben anderen hopelijk ook wat aan, maar als je er echt niet uit komt is rdp of iets anders ook een mogelijkheid.
Boaz schreef op 11.07.2008 11:36

Het enigste wat ik nog kan bedenken is,dat als ik via ISS manager ->website properties ,er nog geen php bij staat.
De php extensie ga ik nog even proberen toe te voegen,maar is volgens mijn geen must om dit te doen??

Ik ken IIS niet. Maar php moet wel gekoppeld zijn aan de webserver. Als IIS helemaal geen php verbinding heeft zal het ook niet werken.


Boaz schreef op 11.07.2008 11:36

Het mooiste is natuurlijk als het via het forum lukt, daar hebben anderen hopelijk ook wat aan, maar als je er echt niet uit komt is rdp of iets anders ook een mogelijkheid.


Heb zo'n beetje alles uitgeprobeerd wat ik maar kan bedenken.
Ook de (oplossingen) andwoorden uitgevoerd die hierboven zijn beschreven.

Php gaat denk ik maar diep in de koelkast,of er moet nog iemand met een andere oplossing komen.

Via een mail ben ik altijd bereid om verder te gaan over een oplossing.

Alvast mijn dank aan ieder die heeft geprobeerd mijn te helpen.
Gr.Ger

Reageren