contact form, probleem met mx record HELP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Steve

Steve

26/10/2006 10:04:00
Quote Anchor link
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..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?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>";
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $error; ?>
<br>
<a href="#" onClick="history.go(-1)"><font face="Verdana" size="1" color="#545454">Probeer opnieuw</a>


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?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="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $PHP_SELF; ?>
" method="post">
<input type="hidden" name="require" value="Contact,Email">
HIER HET FORMULIER
</form>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?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.
 
PHP hulp

PHP hulp

26/12/2024 07:40:07
 
Steve

Steve

26/10/2006 10:50:00
Quote Anchor link
Ook als ik bvb deze test uitvoer krijg ik dezelfde melding

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?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.";

?>
Gewijzigd op 01/01/1970 01:00:00 door Steve
 
Robert Deiman

Robert Deiman

26/10/2006 11:08:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

26/10/2006 11:11:00
Quote Anchor link
Deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?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.
 
Steve

Steve

26/10/2006 11:13:00
Quote Anchor link
Ja is een gehoste server...

Dus er bestaat geen oplossing om het formulier te versturen zonder gebruik te maken van de interne smtp server.
 
Jan Koehoorn

Jan Koehoorn

26/10/2006 11:15:00
Quote Anchor link
Je kunt ook de PHP mailer class downloaden. Daarmee kun je een reeks SMTP servers opgeven.
 
Steve

Steve

26/10/2006 11:18:00
Quote Anchor link
leg eens uit Jan?
 
Steve

Steve

26/10/2006 11:30:00
Quote Anchor link
moet ik dan de php.ini aanpassen... weet niet of dit mogelijk is
 
Robert Deiman

Robert Deiman

26/10/2006 11:33:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

26/10/2006 11:34:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Steve

Steve

27/10/2006 11:18:00
Quote Anchor link
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 {
....
 
M Ypma

M Ypma

27/10/2006 11:47:00
Quote Anchor link
ten eerste moet je je eerst vene gaan verdiepen in OOP... je gebruitk nu OOP om je smtp te wijzigen en vervolgens schrijf je weer gewoon php on the flow...je kan die hele class hiervoor gebruiken...

je foutmelding komt omdat je je aan $mail nog geen class hebt gehangen:
$mail = new smtp(); ,- afhankelijk van de classname
 
Steve

Steve

27/10/2006 11:57:00
Quote Anchor link
ik ben nog maar een beginner in php dus wat je zegt is chinees... kan je me helpen wat moet ik aanpassen aan mijn code (zie boven) zodat dit werkt
 
Steve

Steve

27/10/2006 16:32:00
Quote Anchor link
kan er mij iemand verder helpen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.