Ik gebruik een contactformulier maar ik krijg nu sinds de mx record aangepast is (wegens externe mailserver) deze melding :

Warning: mail(): SMTP server response: 550 Requested action not taken: mailbox unavailable or not local..

<?php
$recipientname = "Bedrijf X";
$recipientemail = "[email protected]";
$subject = "Contact Formulier van $recipientname";
$autoresponse = "no";
$autosubject = "Bedankt voor uw e-mail!";
$automessage = "Dit is een automatisch antwoord om u te laten weten dat we uw e-mail met succes ontvingen. Bedankt! We nemen zo spoedig mogelijk contact met u op.";
$thanks = "<font face=\"Verdana\" size=\"1\" color=\"#005882\">Bedankt voor uw interesse.<br>We nemen zo spoedig mogelijk contact met u op.<br>";
?>
<?php
if($_POST['submitform']) {

$Contactpersoon = $HTTP_POST_VARS['Contact'];
$Bedrijf = $HTTP_POST_VARS['Bedrijf'];
$Adres = $HTTP_POST_VARS['Adres'];
$Plaats = $HTTP_POST_VARS['Plaats'];
$Telefoon = $HTTP_POST_VARS['Telefoon'];
$Gsm = $HTTP_POST_VARS['Gsm'];
$Email = $HTTP_POST_VARS['Email'];
$Comments = $HTTP_POST_VARS['Comments'];

// check email address
if ((!ereg(".+\@.+\..+", $Email)) || (!ereg("^[[email protected]]+$", $Email))){
$error .= "Invalid email address<br>";}

// display errors
if($error) {
?>
<b><font face="Verdana" size="1" color="#545454">FOUT</b><br>
<?php echo $error; ?><br>
<a href="#" onClick="history.go(-1)"><font face="Verdana" size="1" color="#545454">Probeer opnieuw</a>


<?php
}
else
{

$browser = $HTTP_USER_AGENT;
$ip = $REMOTE_ADDR;

// format message
$message = "Info Formulier van $recipientname:

Bedrijf: $Bedrijf
Contactpersoon: $Contact
Adres: $Adres
Plaats: $Plaats
Telefoon: $Telefoon
Gsm: $Gsm
Email: $Email
Betreft: $Comments

-----------------------------

Browser: $browser
User IP: $ip";

// send mail and print success message
mail($recipientemail,"$subject","$message","From: $Name <$Email>");

if($autoresponse == "yes") {
$autosubject = stripslashes($autosubject);
$automessage = stripslashes($automessage);
mail($Email,"$autosubject","$automessage","From: $recipientname <$recipientemail>");
}

echo "$thanks";
}
}
else {
?>
<form name="contactform" action="<?php echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="require" value="Contact,Email">
HIER HET FORMULIER
</form>
<?php } ?>

Kan ik hier ergens iets veranderen zodat het wel degelijk werkt... Nu bestaat het e-mailadres niet volgens het formulier...

Please help... Alvast bedankt.
Ook als ik bvb deze test uitvoer krijg ik dezelfde melding

<?php

$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";

?>
De mail() functie maakt gebruik van je interne SMTP server, maar omdat je zegt dat die extern is geworden, zal je (als je op een locale) server werkt de instellingen voor de mailserver aan moeten passen.
Werk je op een gehoste server, dan weet ik (behalve overstappen) zo geen oplossing.
Deze code:
<?php
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From: $from";
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
is niet echt een goede test om te kijken of de mail functie gelukt is. De mail functie hoort in een if te staan.
Ja is een gehoste server...

Dus er bestaat geen oplossing om het formulier te versturen zonder gebruik te maken van de interne smtp server.
Je kunt ook de PHP mailer class downloaden. Daarmee kun je een reeks SMTP servers opgeven.
leg eens uit Jan?
moet ik dan de php.ini aanpassen... weet niet of dit mogelijk is
Als je de PHP mailer class download:

http://phpmailer.sourceforge.net/

Krijg je een gebruiksaanwijzing erbij.. Probeer het maar eens, denk dat je er (als je een beetje engels kan) gewoon gemakkelijk uit moet komen.
Als je dan verder nog vragen hebt, zijn we hier om je te helpen.
Steve schreef op 26.10.2006 11:18
leg eens uit Jan?

Het staat ook in de handleiding van de PHPMailer class. Je doet zoiets:
<?php
require 'class.smtp.php';
require 'class.phpmailer.php';

// via de localhost lukt het niet, dus...
$mail->IsSMTP (true);
$mail->Host = 'mail.planet.nl';
$mail->Username = 'xxxxx';
$mail->Password = 'xxxxx';
?>
dit is alleen een fragment natuurlijk. Je moet alle andere code, waarin de mail aangemaakt wordt en de velden gevuld, er nog bijmaken.
ok ik probeer dit maar krijg nu deze melding

Fatal error: Call to a member function on a non-object in ...

// send mail and print success message
require 'class.smtp.php';
require 'class.phpmailer.php';

// via de localhost lukt het niet, dus...
$mail->IsSMTP (true);
$mail->Host = 'xxx;
$mail->Username = 'xxx';
$mail->Password = 'xxx';

mail($recipientemail,"$subject","$message","From: $Name <$Email>");

if($autoresponse == "yes") {
$autosubject = stripslashes($autosubject);
$automessage = stripslashes($automessage);
mail($Email,"$autosubject","$automessage","From: $recipientname <$recipientemail>");
}

echo "$thanks";
}
}
else {
....

Reageren