[PHP] Formmail werkt, afzender niet correct

Pagina: 1
Acties:
  • 215 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik, heb een formmail gemaakt in PHP. De gebruiker vult het formulier in en dit wordt vervolgens aan een emailadres gestuurd. Het werkt allemaal prima alleen wanneer de ontvanger op reply klikt krijg je niet het juiste e-mailadres.

Hieronder de simpele code:

code:
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
<?php
include("extracode.inc.php");
$errors=0;
$error="The following errors occured while processing your form input.<ul>";
pt_register('POST','naam');
pt_register('POST','land');
pt_register('POST','adres');
pt_register('POST','telefoon');
pt_register('POST','bedrijf');
pt_register('POST','emailadres');
pt_register('POST','bericht');
$bericht=preg_replace("/(\015\012)|(\015)|(\012)/","&nbsp;<br />", $bericht);if($naam=="" || $land=="" || $adres=="" || $telefoon=="" || $emailadres=="" ){
$errors=1;
$error.="<li>You did not enter one or more of the required fields. Please go back and try again.";
}
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$emailadres)){
$error.="<li>Invalid email address entered";
$errors=1;
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="naam: ".$naam."
land: ".$land."
adres: ".$adres."
telefoon: ".$telefoon."
bedrijf: ".$bedrijf."
emailadres: ".$emailadres."
bericht: ".$bericht."
";
$message = stripslashes($message);
mail("ontvanger@ontvanger.nl","Onderwerp",$message,"From: Emailadres");

header("Refresh: 0;url=http://url/bedankthe");
?><?php 
}
?>


Het From: gedeelte (onderaan) kon gevuld worden met een tekst. Dit wordt dan de naam van de afzender in de ontvangen email. Echter het emailadres blijft ongewijzigd. Ik heb geklooid met de variabel $emailadres maar kwam er niet uit door dit op verschillende plaatsen te proberen. Ik heb op Google gezocht maar kon hierover geen extra informatie vinden.

[ Voor 18% gewijzigd door Verwijderd op 29-03-2006 12:14 ]


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat is het email adres wat je ziet als men op Reply klikt? Overigens specificeer je geen afzender adres he ;)

http://nl2.php.net/manual/en/ref.mail.php

Je moet dus bij From je verzendende email adres specificeren, danwel hard-coded in je config of dmv een scriptvariabele

[ Voor 4% gewijzigd door BtM909 op 29-03-2006 12:18 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

Denk dat je ook een Reply-To: header moet sturen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De afzender is bijvoorbeeld: nobody@web006.hosting.widexs.nl
Een mail van de server dus.

Bedankt overigens voor de antwoorden. Ik zal eens zoeken op het From gedeelte.

Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
Verwijderd schreef op woensdag 29 maart 2006 @ 14:52:
De afzender is bijvoorbeeld: nobody@web006.hosting.widexs.nl
Een mail van de server dus.

Bedankt overigens voor de antwoorden. Ik zal eens zoeken op het From gedeelte.
dit kan je ook niet aanpassen.
zoals hierboven al gezegt, je kan wel het reply-to adres veranderen (mee sturen)
in veel (slechtere) mail programma's zie je dan inderdaad bij het kopje 'afzender' dat adres staan.
echter, dit is dus NIET de afzender, maar de reply-to

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Okay, ik zal de reply to onder de loep nemen. Als ik een oplossing heb gevonden zal ik hem hier natuurlijk plaatsen.

Acties:
  • 0 Henk 'm!

  • Massiefje
  • Registratie: Mei 2002
  • Laatst online: 14:12
Ik ben hier ook heel lang mee bezig geweest. De enig oplossing die bij mij werkte was de volgende code:

code:
1
ini_set("sendmail_from", $_POST['email']);


Waarbij $_POST['email'] uiteraard het mailadres is waarvandaan gezonden wordt.

Ik had dit overigens nodig voor het automatisch aanmelden van een nieuwsbrief systeem/mailinglist. Normaal moest je je aanmelden doro een mailtje te sturen met subscribe in het onderwerp. Het mailinglist systeem mailt dan terug naar de verzender. Maar dat was elke keer net zo'n adres als jij had.

Bovenstaande werkt overigens alleen als je rechten hebt op php.ini (bij mij op mijn windows 2003 server wel in ieder geval.....)
Pagina: 1