Mail verzenden via mail()
<html>
<head>
<title>Contact</title>
</head>
<body>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if(isset($submit) && $submit=="Verzend bericht")
{
echo "Naam: " . $gebruiker . "<br>\n";
echo "Organisatie: " . $org . "<br>\n";
echo "E-mail: " . $email . "<br>\n";
echo "Onderwerp: " . $subject . "<br>\n";
echo "Bericht: " . $bericht . "<br>\n";
mail("[email protected]", $subject, $bericht);
}else{
?>
if(isset($submit) && $submit=="Verzend bericht")
{
echo "Naam: " . $gebruiker . "<br>\n";
echo "Organisatie: " . $org . "<br>\n";
echo "E-mail: " . $email . "<br>\n";
echo "Onderwerp: " . $subject . "<br>\n";
echo "Bericht: " . $bericht . "<br>\n";
mail("[email protected]", $subject, $bericht);
}else{
?>
<h1>Neem contact met mij op</h1>
<p class="text">U kunt gebruik maken van mijn contactformulier.</p>
<form name="contactform" method="post" action=
<div align=left>
<table border="0" width="100%">
<tr>
<td width="11%">Naam</td>
<td width="89%"> <input type=text name=gebruiker size=50></td>
</tr>
<tr>
<td width="11%">Organisatie</td>
<td width="89%"> <input type=text name=org size=30></td>
</tr>
<tr>
<td width="11%">E-mail</td>
<td width="89%"> <input type=text name=email size=25></td>
</tr>
<tr>
<td width="11%">Onderwerp</td>
<td width="89%"> <input type=text name=subject size=25></td>
</tr>
<tr>
<td width="11%">Bericht</td>
<td width="89%"> <textarea name=bericht cols=50 rows=5></textarea></td>
</tr>
</table>
</div>
<p><input type="submit" value="Verzend bericht" name="submit"><input type="reset" value="Alles wissen" name="reset"></p>
</form>
</p>
</body>
</html>
Maar ik krijg een fout-melding "Warning: Server Error in contact.php on line 26
"
http://www.phphulp.nl/php/tutorials/10/143
[2] http://www.phphulp.nl/php/tutorials/2/139
[3] Kijk naar de instellingen in PHP.ini
[1] [2] http://www.phphulp.nl/php/tutorials/2/139
[3] Kijk naar de instellingen in PHP.ini
Kan ik elk email-programma voor mail() gebruiken?
Wie heeft er een werkend voorbeeld of kan me hierbij helpen?
Bij voorbaat dank,
JOHN
Wie heeft ervaring met een SMTP onder localhost?
Moet ik bepaalde onderdelen installeren voor IIS?
Hier t relevante stukje uit mijn php.ini:
SMTP = localhost
smtp_port = 25
sendmail_from = [email protected]
Dat moet je veranderen naar een SMTP server he?
Als k dan SMTP = http://services.msn.com/svcs/hotmail/httpmail.asp in php.ini invul krijg ik nog een Server Error.
Volgens het boek "MySQL/PHP Database Applicaties" zou voor windows Pegasus een goeie oplossing zijn
http://www.php.net/manual/nl/ref.mail.php geeft niet genoeg informatie erover
in principe moet je voor je smtp server de server van je provider invullen. Die url snap ik niet waarom dat wél zou werken (immers: je werkt toch met het smtp en niet het http protocol?)
(maar die van hotmail is volgens mij zowel POP3 als SMTP, ingaande en uitgaande mail verloopt via dat protocol)
Wie weet er een SMTP-server die ik hiervoor zou kunnen gebruiken als test?
Ik wil toch uiteraard zeker weten of mijn script ook echt werkt
Die van je provider :)
mail.planet.nl (oid) werkt als je planet hebt
etc.
Mja bij chello natuurlijk weer niet ;)
Het script ziet er nu zo uit:
<html>
<head>
<title>Contact</title>
</head>
<body>
Code (php)
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
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
<?php
if(isset($submit) && $submit=="Verzend bericht")
{
echo "============================================================= <br>\n";
echo "<b>INGEVULDE GEGEVENS: </b><br>\n";
echo "============================================================= <br>\n";
echo "<br>\n";
if (!empty($gebruiker)) { echo "<b>Naam: </b>" . $gebruiker . "<br>\n"; }
if (!empty($org)) { echo "<b>Organisatie: </b>" . $org . "<br>\n"; }
if (!empty($email)) { echo "<b>Email: </b>" . $email . "<br>\n"; }
if (!empty($subject)) { echo "<b>Onderwerp: </b>" . $subject . "<br>\n"; }
if (!empty($msg)) { echo "<b>Bericht: </b>" . $msg . "<br>\n"; }
if (!empty($UPLOAD)) { echo "<b>Bestand: </b>" . $UPLOAD . "<br>\n"; }
#echo "<br>\n";
#echo "Server: " . $HTTP_SERVER_VARS . "<br>\n";
#echo "IP adres: " . $_SERVER['REMOTE_ADDR'] . "<br>\n";
#echo "Browser: " . $_SERVER['HTTP_USER_AGENT'] . "<br>\n";
echo "<br>\n";
echo "============================================================= <br>\n";
echo "<br>\n";
mail("[email protected]", $subject, $msg);
echo "<br>\n";
echo "Het bericht is verstuurd naar <b>$email</b><br>\n";
}else{
?>
if(isset($submit) && $submit=="Verzend bericht")
{
echo "============================================================= <br>\n";
echo "<b>INGEVULDE GEGEVENS: </b><br>\n";
echo "============================================================= <br>\n";
echo "<br>\n";
if (!empty($gebruiker)) { echo "<b>Naam: </b>" . $gebruiker . "<br>\n"; }
if (!empty($org)) { echo "<b>Organisatie: </b>" . $org . "<br>\n"; }
if (!empty($email)) { echo "<b>Email: </b>" . $email . "<br>\n"; }
if (!empty($subject)) { echo "<b>Onderwerp: </b>" . $subject . "<br>\n"; }
if (!empty($msg)) { echo "<b>Bericht: </b>" . $msg . "<br>\n"; }
if (!empty($UPLOAD)) { echo "<b>Bestand: </b>" . $UPLOAD . "<br>\n"; }
#echo "<br>\n";
#echo "Server: " . $HTTP_SERVER_VARS . "<br>\n";
#echo "IP adres: " . $_SERVER['REMOTE_ADDR'] . "<br>\n";
#echo "Browser: " . $_SERVER['HTTP_USER_AGENT'] . "<br>\n";
echo "<br>\n";
echo "============================================================= <br>\n";
echo "<br>\n";
mail("[email protected]", $subject, $msg);
echo "<br>\n";
echo "Het bericht is verstuurd naar <b>$email</b><br>\n";
}else{
?>
<h1>Neem contact met mij op</h1>
<p class="text">U kunt gebruik maken van mijn contactformulier.</p>
<form name="contactform" method="post" action=
<div align=left>
<table border="0" width="100%">
<tr>
<td width="11%">Naam</td>
<td width="89%"> <input type=text name=gebruiker size=50></td>
</tr>
<tr>
<td width="11%">Organisatie</td>
<td width="89%"> <input type=text name=org size=30></td>
</tr>
<tr>
<td width="11%">E-mail</td>
<td width="89%"> <input type=text name=email size=25></td>
</tr>
<tr>
<td width="11%">Onderwerp</td>
<td width="89%"> <input type=text name=subject size=25></td>
</tr>
<tr>
<td width="11%">Bericht</td>
<td width="89%"> <textarea name=msg cols=75 rows=7></textarea></td>
</tr>
<tr>
<td width="11%" height=7></td>
<td width="89%"></td>
</tr>
<tr>
<td width="11%">Uploaden</td>
<td width="89%"> <input name="UPLOAD" size="25" type="file"></td>
</tr>
</table>
</div>
<p><input type="submit" value="Verzend bericht" name="submit"><input type="reset" value="Alles wissen" name="reset"></p>
</form>
</p>
</body>
</html>
En nu zat ik er nog over te denken om het bestand dat meegestuurd moet worden gescand kan worden op virussen...
Om bestanden mee te sturen zul je een multipart mailbericht moeten maken. Een google trefwoord is mime multipart. Houd er rekening mee dat het in het geheugen laden van het bestand waarschijnlijk nodig is/gaat gebeuren, en om de runtime niet te lang te maken het bestand niet te groot moet zijn. Hou het bij een nette grootte (0,5mb?).
Het virusscannen zou ik voorlopig even vergeten, houd je eerst bezig met het ontvangen van het uploaden van bestanden. Zoek even op tutorials naar bestanden uploaden. De handleiding sectie is te vinden op http://nl3.php.net/manual/en/features.file-upload.php
Grtz,
Arend
not found
The requested URL /robrenmulder/< was not found on this server
Ik heb allen mail("[email protected]", $subject, $msg); verandert in mail("[email protected]", $subject, $msg);
Wie kan mij helpen
je kunt dezelfde smtp gebruiken als die je van je provider ook gebruikt, hotmail wil daarentegen niet.
En bestaat de map robrenmulder wel?
Misschien handig dat je de volgende regels
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
...
mail("[email protected]", $subject, $msg);
echo "<br>\n";
echo "Het bericht is verstuurd naar <b>$email</b><br>\n";
...
?>
...
mail("[email protected]", $subject, $msg);
echo "<br>\n";
echo "Het bericht is verstuurd naar <b>$email</b><br>\n";
...
?>
vervangt door:
lees effe mijn nieuwe script extern mailen dan kan je via een andere mail server mailen heb geen gezeik met deze problemen
Heb m al gevonden op http://www.phphulp.nl/php/scripts/7/192/ :)
Gewijzigd op 27/08/2004 11:56:00 door John de Boer
snap je het een beetje
Er staat bij mij wel gevorderd, maar ben nog niet zo heel erg lang bezig met PHP.
ik heb zelf een contact.php gemaakt die te vinden is op http://82.197.198.196/jdeboer/nl/FilmArchief/contact.php
want ik ben beginner :S:S:S maar als je vragen hebt beantwoord ik ze graag
Ik ga ook al heel wat jaren mee op de pc, zeker sinds 1989 en heb in die tijd dus heel wat opgestoken en gelezen.
Maar maak je geen zorgen, dat verandert vanzelf als je hier wat langer vertoeft en zo kennis vergaart ;)
Als ik vragen heb dan hoor je ze wel.
Ik heb geen problemen zoals die van robrenmulder, ik reageerde er alleen maar op
Ik probeer je script 1 deze dagen nog wel.
Ik heb zelf wel sinds kort, nadat de admin van GratisWebRuimte.TK ge-upgrade heeft naar PHP 5.0.1. in safe mode, wel problemen met het versturen via PHP's mail() :s.
Dan krijg ik de melding:
Warning: mail() [function.mail]: SMTP server response: 451 See http://pobox.com/~djb/docs/smtplf.html. in contact.php on line 113