Avatar billede fellix Nybegynder
02. april 2007 - 21:12 Der er 8 kommentarer og
1 løsning

PHP mail()

Hej

Jeg sidder og laver en lille mail side på min hjemmeside.

Jeg har først en side hvor personer udefra skal taste: navn, email, emne og selvfølgelig en besked. Der bruger jeg en "form" til at samle de data. Den information bliver så sendt videre til en anden side, som samler informationen og sender en mail, men...
når jeg prøver at fortælle php hvem afsenderen er, accepterer den kun en fast tekst jeg har skrevet.

Koden jeg har brugt til at opsamle og sende en mail:

<?php
$to      = 'min@mail.dk';
$subject = $_POST['emne'];
$message = $_POST['besked'];
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

Jeg vil gerne have det til at virke sådan, at personens navn står som afsender (det de har indtastet) og at "Reply to" er deres email adresse, hvis det kan lade sig gøre.
Avatar billede jakobdo Ekspert
02. april 2007 - 21:24 #1
Har du prøvet at rette:

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();


til:

$headers = 'From: FRA_NAVN <FRA_EMAIL>' . "\r\n" .
    'Reply-To: FRA_NAVN <FRA_EMAIL>' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
Avatar billede fellix Nybegynder
03. april 2007 - 09:24 #2
Ikke helt, det skulle gerne være sådan at den "trækker" informationen som brugeren har tastet. Noget lignende det her (udover det ikke virker):

<?php
$to      = 'min@mail.dk';
$subject = $_POST['emne'];
$message = $_POST['besked'];
$headers = 'From: '$_POST['navn'] . "\r\n" .
    'Reply-To: '$_POST['email'] . "\r\n";

mail($to, $subject, $message, $headers);
?>
Avatar billede jakobdo Ekspert
03. april 2007 - 09:50 #3
Der er ikke stor forskel fra din kode til min:

<?php
$to      = 'min@mail.dk';
$subject = $_POST['emne'];
$message = $_POST['besked'];
$headers = "From: $_POST['email']\r\n" .
                    "Reply-To: $_POST['email']\r\n" .
                    "X-Mailer: PHP/" . phpversion()
mail($to, $subject, $message,    $headers);
?>

Ud over det, hvem bruger du som webhotel?
Avatar billede fellix Nybegynder
03. april 2007 - 12:06 #4
Jeg bruger eze.dk. Mail funktionen som sådan virker fint nok, så længe jeg selv indtaster "From: navn". Men når jeg beder den om at bruge $_POST funktionen, står afsender som hostmasteren hos eze, i stedet for den tekst som den burde hente fra den forrige side (den hvor man indtaster information.

Når jeg bruger koden overfor, får jeg fejlmeddelselse:

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ...\mailSent.php on line 9

Line 9 er $headers = "From: $_POST['email']\r\n" ...

Tak for din hjælp, du skal have tak for at blive hængende :-D
Avatar billede fellix Nybegynder
03. april 2007 - 12:27 #5
Hej, jeg ville bare lige meddele, at jeg har fundet en løsning.

Koden jeg brugte:
<?php
$to      = 'min@mail.dk';
$subject = $_POST['emne'];
$message = 'Fra: ' . $_POST['navn'] . "\r\n" . "\r\n" . $_POST['besked'];
$headers = "From: "  .
          $_POST['email'];
mail($to, $subject, $message,    $headers);
?>

Til andre som måske har samme problem, så kan . (period) bruges til at samle flere "ting" i samme. Fx som jeg har gjort i $message.

"\r\n" indsætter et linjeskift. *Bemærk at det er forskelligt fra OS hvordan et linjeskift ser ud. Check PHP manualen.
Avatar billede fellix Nybegynder
03. april 2007 - 12:28 #6
#Jakabdo, hvis du mener du skal have point for dine svar, så indlæg venligst et svar og så skal du nok få point. Du ledte mig i den rigtige retning.. tak :)
Avatar billede jakobdo Ekspert
03. april 2007 - 12:43 #7
Svar!
Avatar billede jakobdo Ekspert
03. april 2007 - 12:55 #8
Takker for point.
Avatar billede fellix Nybegynder
03. april 2007 - 13:34 #9
Velbekomme :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester