Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Email senden (https://www.delphipraxis.net/56516-%5Bphp%5D-email-senden.html)

Luckie 7. Nov 2005 10:08


[PHP] Email senden
 
Ich bastele gerade an einem Feedback Formular für meine Homepage. Das klappt auch schon ganz gut, bis auf die Tatsache, dass es ziemlich bescheiden formatiert ankommt.

Mein PHP Code sieht bisher so aus:
Code:
<?php
  $to = 'mpuff@luckie-online.de';

  $headers = 'MIME-Version: 1.0\r\n'.
   'Content-Type: text/plain; charset=iso-8859-1\r\n'.
   'From: "Kontaktformular luckie-online.de" <'.$from.'>\r\n'.
   'To: '.$to.' <'.$to.'>\r\n'.
   'Date: '.date("r").'\r\n'.
   'Subject: '.$subject.'\r\n';

  $msg = 'Von: '.$yourname.' ('.$from.')\r\n\r\nText:\r\n'.$text;

  if (!mail($to, $subject, $msg, $headers))
  {
    echo 'Fehler';
  }
  else
  {
    echo 'und weg.';
  }
?>
Und das Resultat:
Zitat:

Von: Michael Puff (mpuff@gmx.de) Text: With a hard coded(base64 no less) to: function I thought nothing of it until my ISP Suspended my account because AOL complained of multiple complaints of spam from my domain.
My account has still not been restored from the Host they feel that it was my fault for having a Faulty Script.
Be careful guys when using Mail() function--I swore by it less than 3 days ago. Now I\'m a victim of Hacking (feel violated) AOL thinks my website is a spammer and wont do anything to learn different and my host too thinks I\'m at fault :-( go figure that the victim is always the bad guy.
Die Zeilenumbrüche \r\n werden nicht berücksichtigt, doe Hochkomata verden "escaped" und als Absender steht trotz anderer Angaben von mir immer "apache" da. :(

Hier mal der Header, der gesendeten E-Mail:
Code:
Return-Path: <apache@www.zeus03.de>
X-Original-To: [email]mpuff@luckie-online.de[/email]
Delivered-To: [email]l3s11195p3@www.zeus03.de[/email]
Received: by [url]www.zeus03.de[/url] (Postfix, from userid 48)
   id 793F3108A7381; Mon, 7 Nov 2005 09:57:36 +0100 (CET)
To: [email]mpuff@luckie-online.de[/email]
Subject: Hallo
MIME-Version: 1.0\r\nContent-Type: text/plain; charset=iso-8859-1\r\nFrom: "Kontaktformular luckie-online.de" <mpuff@gmx.de>\r\nTo: [email]mpuff@luckie-online.de[/email] <mpuff@luckie-online.de>\r\nDate: Mon, 7 Nov 2005 09:57:36 +0100\r\nSubject: Hallo\r\n
Message-Id: <20051107085736.793F3108A7381@www.zeus03.de>
Date: Mon, 7 Nov 2005 09:57:36 +0100 (CET)
From: [email]apache@www.zeus03.de[/email] (apache)
Status:

r4id3n 7. Nov 2005 10:26

Re: [PHP] Email senden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich verwende dafür eine nette kleine E-Mail-Klasse.... Diese unterstützt auch HTML und Plain-Text-Mails.

Hoffe das hilft Dir ein wenig!

Luckie 7. Nov 2005 10:30

Re: [PHP] Email senden
 
Ächtz, ich will nur ein Formular ausfüllen und per mail() verschicken. Mehr nicht.

Und häng bitte den Code als Datei an, über 1200 Zeilen Code in einem Beitrag müssen nun wirklich nicht sein. :roll:

generic 7. Nov 2005 10:34

Re: [PHP] Email senden
 
Zitat:

Zitat von Luckie
Code:
<?php
  $headers = 'MIME-Version: 1.0\r\n'.
   'Content-Type: text/plain; charset=iso-8859-1\r\n'.
   'From: "Kontaktformular luckie-online.de" <'.$from.'>\r\n'.
   'To: '.$to.' <'.$to.'>\r\n'.
   'Date: '.date("r").'\r\n'.
   'Subject: '.$subject.'\r\n';

?>

versuch mal anstelle von ' das "
achte bitte dadrauf das $headers von aussen nicht manipulibar ist.
sonst machst du dir ein offenes spamgateway.

r4id3n 7. Nov 2005 10:35

Re: [PHP] Email senden
 
Damit funktionierts aber.... Ich hab die SMTP-Class mal wieder raus genommen... Die brauchst du nicht! Mit der Klasse weiß ich aber das es geht ;-)

Luckie 7. Nov 2005 10:39

Re: [PHP] Email senden
 
Ah, danke, das war schon mal gut. Aber die Zeilenumbrüche im Text sind immer noch fehlerhaft und die Hochkomata werden imme rnoch "escaped".

Basilikum 7. Nov 2005 10:52

Re: [PHP] Email senden
 
Zitat:

Zitat von generic
Zitat:

Zitat von Luckie
Code:
<?php
  $headers = 'MIME-Version: 1.0\r\n'.
   'Content-Type: text/plain; charset=iso-8859-1\r\n'.
   'From: "Kontaktformular luckie-online.de&quot; &lt;'.$from.'>\r\n'.
   'To: '.$to.' &lt;'.$to.'&gt;\r\n'.
   'Date: '.date(&quot;r&quot;).'\r\n'.
   'Subject: '.$subject.'\r\n';

?&gt;

versuch mal anstelle von ' das "
achte bitte dadrauf das $headers von aussen nicht manipulibar ist.
sonst machst du dir ein offenes spamgateway.

Zitat:

Zitat von Luckie
Ah, danke, das war schon mal gut. Aber die Zeilenumbrüche im Text sind immer noch fehlerhaft und die Hochkomata werden imme rnoch "escaped".

hm ? demfalls hast du den Rat von generic nicht beachtet:
in PHP werden String-Literale mit " (Doppelgänsefuss) eingefasst, nicht wie in Delphi mit '
ich habe das kurz gestestet... der Effekt von escapeten Sonderzeichen und nicht deescapten Zeilenumbrüchen ist so reproduzierbar

so ist's richtig:
Code:
<?php
  $headers = "MIME-Version: 1.0\r\n".
   "Content-Type: text/plain; charset=iso-8859-1\r\n".
   "From: \"Kontaktformular luckie-online.de\" <".$from.">\r\n".
   "To: ".$to." <".$to.">\r\n".
   "Date: ".date("r")."\r\n";

?>
(Subject kannst weglassen, das wird bereits bei mail() gesetzt...)

Luckie 7. Nov 2005 11:01

Re: [PHP] Email senden
 
Zitat:

Zitat von Basilikum
hm ? demfalls hast du den Rat von generic nicht beachtet:

Doch, daraufhin habe ich ja den Header angepasst. da hat ja dann zu mindest der Header dann gestimmt, aber die zeilenumbrüche und "escapeten" Sonderzeichen sind trotzdem noch da.

Die Mail mit deinem Header sieht übrigens genauso aus:
Zitat:

Von: Michael Puff (mpuff@gmx.de)\r\n\r\nText:\r\nWith a hard coded(base64 no less) to: function I thought nothing of it until my ISP Suspended my account because AOL complained of multiple complaints of spam from my domain.
My account has still not been restored from the Host they feel that it was my fault for having a Faulty Script.
Be careful guys when using Mail() function--I swore by it less than 3 days ago. Now I\'m a victim of Hacking (feel violated) AOL thinks my website is a spammer and wont do anything to learn different and my host too thinks I\'m at fault :-( go figure that the victim is always the bad guy.

ripper8472 7. Nov 2005 12:52

Re: [PHP] Email senden
 
ein \r\n wird nur in "-strings interpoliert. in '-strings sin sie literal wie alle anderen buchstaben.

sniper_w 7. Nov 2005 13:25

Re: [PHP] Email senden
 
Ich habe das bisher auf meinem Freedback formular so gemacht:
Code:
   
$message = 'Name :' . $name . "\n" .
           'E-mail :' . $email . "\n" .
           'Comment :' . $kcmment . "\n" .
           'server time -> ' . $mytime;
Und die Umbrüche funktionieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz