WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [PHP] eine html-seite als email verschicken (http://www.wcm.at/forum/showthread.php?t=123553)

Pulse-Seeker 28.01.2004 19:53

[PHP] eine html-seite als email verschicken
 
hi leute!

eine frage an alle php-experten:

ich bastel gerade an einem online-buchungs-system für ein reisebüro.

die eingaben aus dem buchungsformular bastel ich zu eine übersicht zusammen die der kunde sieht und wenn er die übersicht bestätigt kriegt er eine bestätingsemail.

die übersicht setzt sich aus den html-tags und den vars des buchungsformulars zusammen und wird in einer var gespeichert ($sTextBuchen). die email wird mit mail() verschickt.

wenn ich den text dieser var aber als email-inhalt nehmen dann sieht das ergebnis ungefähr so aus:

<table><tr>
<td> $Vorname $Nachname </td>
<td> $Adresse </td>
...
</tr></table>

mit dem fangt der kunde net wirklich was an.

irgendwelche tipps.

JoergStueger 28.01.2004 20:13

Schau mal hier ...

http://codewalkers.com/seecode/430.html

so funktionierts ...

LG
Joerg

_m3 28.01.2004 20:15

http://www.dsv.su.se/~jpalme/ietf/mhtml.html

Und wehe, du machst nicht eine Textversion auch. HTML-Mail ist boese! :ms:

Pulse-Seeker 28.01.2004 20:25

werd ich mir anschauen.

wenn des net immer so viel zu lesen wär ... :rolleyes:

JoergStueger 28.01.2004 20:43

Was wärs Dir wert, wenn ich's Dir fixfertig liefere? :D

LG
Joerg

Pulse-Seeker 28.01.2004 20:44

<basar>

was verlangst??

</basar>

JoergStueger 28.01.2004 20:46

Je nach Aufwand ...

Was soid genau passieren?
Wann brauchstas?

Schick mir mail an joerg.stueger@inode.at

LG
Joerg

Pulse-Seeker 28.01.2004 20:52

danke für das angebot.

ich werds mal durcharbeiten und mich melden sollte ich probs haben. bin in php halt noch ein newbie ...

käptn 30.01.2004 12:49

http://pear.php.net/package/Mail
http://pear.php.net/package/Mail_Mime

~

Pulse-Seeker 31.01.2004 13:58

ich habe jetzt im php-manual folgendes gefunden:

/* Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header.
setzen */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";


das hab ich probiert aber seitdem gehen gar keine mails mehr raus. d.h. lt. website ist das mail verschickt worden (keine fehlermeldung) aber es kommt nix an! muß das mime-modul installiert sein? wenn ja wie mach ich das. bin aus den links oben nicht schlau geworden.

hier mein quelltext:

<?php include_once("../functions/kern.php");
$sBetreff = "";
$sText = "";
$sAnKunde = "";
$sAnBetreiber = "user@aon.at";
$headers = "";

$sBetreff = "Flugbuchung vom ".date("d.m.Y");
$sAnKunde = $_GET["VORNAME"]." ".$_GET["NACHNAME"]." "."<".$_GET["EMAIL"].">";
$sText = sFlugBuchenText();

/* Um eine HTML-Mail zu senden, können Sie den den "Content-type"-Header.
setzen */
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* zusätzliche Header */
$headers .= "From: $sAnBetreiber\r\n";

mail($sAnKunde, $sBetreff, $sText, $headers); //email an den kunden

header("Location: http://" . $_SERVER["HTTP_HOST"] . "/flug/flug-buchen-dankeausgabe.php");
?>

käptn 31.01.2004 15:39

Mit PEARs Mail und Mail_mime sieht das ganze so aus:

PHP-Code:

require_once 'Mail.php';
require_once 
'Mail/mime.php';

$mime = &new Mail_mime;
$mime->setHTMLBody($html);
$mime->setTXTBody($txt);

$addh = array(
  
'From'    => 'admin@example.com',
  
'Subject' => 'Test'
);

$body $mime->get();
$hdrs $mime->headers($addh);

$mail = &Mail::factory('mail');
$mail->send($to$hdrs$body); 

http://pear.php.net/manual/en/installation.php
http://pear.php.net/manual/en/package.mail.php

~

Pulse-Seeker 31.01.2004 16:34

wie geht die installation der packages von sich. ich hab php 4.3.3.

der stammorder der php-installation ist C:/php. mein apache liegt unter c:/programme/apache group/apache

unter c:/php hab ich eine datei namens go-pear.bat. hab die datei doppelgeklickt damit er die standardt packages installiert. hat lt. den angaben am screen auch funkt.! wie kann ich jetzt zusätzliche pakete installieren??? mit der online doku komm ich leider nicht klar!
oder müssen php und apache in einem ordner liegen???

require_once 'Mail.php';
require_once 'Mail/mime.php';
-------------------------------
müssen die files im gleichen ordner liegen wie die website oder muß ich die beiden seiten aus dem php-verzeichnis ansprechnen??

bitte um hilfe bin bald am verzweifeln. hat vielleicht jemand ein gute how-to-tutorial zum installations vorgang?

Pulse-Seeker 02.02.2004 08:52

hat keiner einen tipp für mich *schieb*

käptn 02.02.2004 12:57

Angenommen PEAR ist in c:\pear installiert, dann fügst du "c:\pear;" dem "include_path" in der php.ini hinzu. PEARs Mail wird standardmäßig mit PEAR mitinstalliert, um Mail_mime zu installieren. machst du eine Kosole auf:

Code:

C:\> cd pear
C:\pear> pear install Mail_mime
...downloading Mail_mime...
...installation successfull
C:\pear>

Vorrausgesetzt "pear.bat" liegt unter "C:\pear"

~

Pulse-Seeker 02.02.2004 17:39

dumme leute brauchen halt länger ...:rolleyes:

ich muß mir die extensions nicht auf meinem lokalen rechner installieren, da ich das script sowieso auf den webspace spiele.

eigentlich sollte ich nur prüfen ob mein provider das unterstützt!?! lieg ich da richtig?? falls ja, wie kann man das überprüfen???

käptn 02.02.2004 20:51

Tja Provider/Hoster/Admins wissen leider oft nicht mal, dass PEAR existiert.

Testen: require 'Mail/mime.php';

Auf der sicheren Seite bist du, wenn du PEAR lokal up2date hältst, und mit deinem Webspace synchron hältst.

~

Pulse-Seeker 02.02.2004 20:55

ich hab den webspace bei inode! kann man PEAR einfach so am webspace installieren oder muß ich das mit den dortigen admins ausdiskutieren??

Pulse-Seeker 06.02.2004 08:44

ich hab jetzt mal ein mail an die inode-admins geschickt. bin gespannt was die mir sagen :rolleyes:

p.s.: ich weiß,... das hätte ich früher auch schon machen können

Pulse-Seeker 06.02.2004 20:01

hab jetzt von einem inode-techniker einen tipp bekommen wie es funkt. könnte.
werds mal probieren und das ergebnis posten!

Pulse-Seeker 08.02.2004 17:27

problem gelöst und thema erledigt !!! :bier:

das einzige was der mail-funktion gefehlt hat war ein zusätzlicher header.

$sHeader = "From: $sAnBetreiber\n";
$sHeader .= "Content-Type: text/html\nContent-Transfer-Encoding: 8bit\n";
mail($sAnKunde, $sBetreff, $sText, $sHeader);

jetzt funkts. so wie ich mir das vorgestellt hab!


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag