Hoe via scripting e-mailen?

Status
Niet open voor verdere reacties.

Systemizer X100

Terugkerende gebruiker
Lid geworden
24 mei 2003
Berichten
1.636
Ik wil graag iets op mijn website zetten waarmee mensen een mailtje naar mij kunnen sturen, maar ik wil niet mijn e-mail adres neerzetten op mijn site (wegens privacy redenen :))

Dus heb ik een form gemaakt enzo, maar hoe moet ik dan de mail verzenden? Moet dat met php, en zo ja, hoe?
 
PHP:
<?PHP
$headers = "From: ".$_POST[naam]." <".$_POST[email].">";
IF ($_POST[verstuur]) {
IF (empty($_POST[naam])) {
echo 'Vul je naam in!';
}
ELSEIF (empty($_POST[email])) {
echo 'Vul jouw email in!';
}
ELSEIF (empty($_POST[onderwerp])) {
echo 'vul onderwerp in!';
}
ELSEIF (empty($_POST[textarea])) {
echo 'Vul je bericht in!';
}
ELSE {
mail("jou@emailadres.nl","$_POST[onderwerp]","$_POST[textarea]","$headers");
echo 'Uw bericht is verstuurd, u kan zeer binnenkort antwoord terug verwachten!';
}
}
ELSE {
?>
Neem contact met ons op!
<FORM method="post">
<table>
<tr>
<td>Je naam:</td>
<td><INPUT TYPE="text" size="30" name="naam"><br></td>
</tr>
<tr>
<td>E-mail van jou:</td>
<td><INPUT TYPE="text" size="30" name="email"><br></td>
</tr>
<tr>
<td>Onderwerp:</td>
<td><INPUT TYPE="text" size="30" name="onderwerp"><br></td>
</tr>
<tr>
<td>Bericht:</td>
<td><TEXTAREA COLS="50" rows="10" name="textarea"></TEXTAREA><p></td>
</tr>
<tr>
<td><INPUT TYPE="submit" value="Verstuur!" name="verstuur"></td>
</tr>
</FORM>
</table>
<?
}
?>

Hier is een voorbeeldje, zoals je mischien wel ziet wordt er dit gedaan in het php stukje:
Als de submit van het formuliertje verstuur is, doe dan:
Controleer of veld genaamd naam is ingevuld, zo nee geef dan: Vul je naam in. Dit gebeurt ook met email, onderwerp, en je bericht.

Als alles wel ingevuld is, dan moet de functie mail() worden aangeroepen, en de waardes die de bezoeker invult versturen, eerst JOU email adres, dan het onderwerp, dan het bericht, en dan de headers!
wat zijn de headers? dat staat helemaal boven in, en zijn er om de afzender weer te geven ed.
Als het verzonden is, word er weergegeven:
Uw bericht is verstuurd, u kan zeer binnenkort antwoord terug verwachten!

Ik denk dat je hier wel wat aan hebt!:) suc6 ermee en weltrusten!
 
Heel interessant :)
Maar als ik dit probeer op mijn WampServer (localhost) dan krijg ik deze melding:

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:\program files\Wamp\www\mail\mail2.php on line 40

?
 
ow! Je draait thuis je eigen server?
Heb je dan wel een mailserver geinstalleerd?
 
Haha Engels is geen enkel probleem. Zo lang het maar niet Frans is :p

Maar, ehm, ik begrijp het nog niet echt. Wat voor SMTP server moet ik dan invoeren? Het lijkt me niet dat je een hotmail / gmail account kunt gebruiken (je kunt geen paswoord invoeren in de php.ini file) of moet dat juist wel?

En als ik de php site dan host (op funpic.org), hoe zit het dan met de php.ini file? Want daar staat alle data in over de server, moet ik die meesturen ofzo?
 
Als de server funpic.org goed geconfigureerd is, dan hoeft dat niet, dan staat mail aan enzo!:)

Voer bij SMTP je smtp server eens in van je provider, dus smtp.planet.nl, smtp.chello.nl of zoiets.
En ik weet niet of je hot/gmail kan gebruiken, ik zou zeggen: Probeer het eens! password is niet nodig:)
 
:( ik kan niet meer bij mijn server :eek:
Als ik localhost intyp in de adresbalk van Firefox krijg ik een blanco scherm, als ik localhost intyp bij IE krijg ik 'kan pagina niet vinden' :eek:
Ik heb de Wamp server al opnieuw opgestart enzo, vreemd, zo opeens...
 
Neu ik denk t niet :) ik denk dat ik weer wat heb gedaan zonder het te merken :eek:

Ik installeer Wamp zo eventjes opnieuw
 
Hee ik heb het opnieuw geïnstalleerd, het werkt weer :)

En ik heb jou script ook weer geprobeerd met mijn instellingen dan he, en het werkt! :D Ik ga het gelijk gebruiken ^_^ bedankt he
 
Toch nog een vraage :o

Met de code die jij me hebt gestuurd heb ik een boel kunnen doen, maar ik wil de gebruiker niet verplichten alle velden in te vullen, zeg maar als iemand anoniem wilt blijven hoeft ie niet zijn e-mail adres in te voeren.
Maar hoe doe ik dit in PHP code? Ik wil dan zeg maar, dat er in het mailtje wat ik krijg staat:

-- Wanneer e-mail is opgegeven
Name: Joshua
E-Mail Address: <adres>

-- Indien adres niet is opgegeven
Name: Joshua
E-Mail Address: Not specified
 
Hmmm, ik weet niet of het kan, maar maak dan hier eens van:

PHP:
ELSEIF (empty($_POST[email])) {

echo 'Vul jouw email in!';

}
dit:
PHP:
ELSEIF (empty($_POST[email])) {

$_POST[email]=Not specified;

}

Ik denk haast dat het niet werkt, maar probeer zelf maar even!
:)
 
Oh, sorry, ik ben helemaal vergeten te melden dat ik het al heb gefixt :o

Ik heb het zo gedaan:

Omdat de onderdelen 'comments' en 'mail' niet belangrijk waren voor de goedkeuring van het verzenden van het bericht, kon ik ze na de controle of alles ingevuld was zetten. Ik heb dus de elseif-jes voor comments en mail weggehaald, en voor de mail() functie dit neergezet

PHP:
$address = $_POST[mail];
if (empty($address)){
$address = "Not specified";
}

$comments = $_POST[comments];
if (empty($comments)) {
$comments = "No comments have been entered";
}

En zo werkte het prima :)

Toch bedankt hoor
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan