17735
Goto Top

Mail per PHP versenden?

Hi,

ist es möglich, z. B. ein Formular, mit einem PHP-Befehl an eine E-Mail-Adresse zu schicken, ohne dass der Client einen konfigurierten Mail-Client braucht?

Man kann ja mit HTML ein Formular schreiben und dann als action schreiben action="mailto:jemand@microsoft.com" nur dann benötigt der User, der das Formular verschicken möchte, einen installierten und konfigurierten Mail-Client. Dies kann man mit einem CGI-Skript umgehen.

Da auf meinem Webserver jedoch CGI-Skripte gesperrt sind, würde ich gerne einen PHP-Befehl eingeben, der das Formular dann automatisch (also serverseitig) an die angegebene E-Mail-Adresse schickt.

1. Frage: Ist das so möglich?
2. Frage: Wenn ja, kann mir jemand ein entsprechendes Beispiel posten?

Gruß,
Ahnenforscher

Content-Key: 26462

Url: https://administrator.de/contentid/26462

Printed on: April 19, 2024 at 23:04 o'clock

Member: Daila
Daila Feb 20, 2006 at 14:51:06 (UTC)
Goto Top
Frage 1 kann ich spontan mal mit einem "Ja" beantworten, allerdings weiss ich grad den Code / Befehl nicht...
Mitglied: 17735
17735 Feb 20, 2006 at 15:03:40 (UTC)
Goto Top
Frage 1 kann ich spontan mal mit einem
"Ja" beantworten, allerdings weiss
ich grad den Code / Befehl nicht...

Das es geht dachte ich mir auch schon face-big-smile

Nur die Frage ist: Wie lautet der Befehl?

Gruß,
Ahnenforscher
Member: soa2ii
soa2ii Feb 20, 2006 at 15:07:22 (UTC)
Goto Top
der befehl lautet schlicht mail();

es ist recht simpel email mit php zu versenden...
http://www.selfphp.de/funktionsreferenz/mail_funktionen/mail.php

mfg
soa2ii
Mitglied: 25523
25523 Feb 20, 2006 at 15:10:50 (UTC)
Goto Top
Die Funktion heißt schlicht und ergreifend "mail()".
Ein Beispiel:
http://aktuell.de.selfhtml.org/tippstricks/php/form-mail/
oder
http://www.gaijin.at/scrphpmailer.php
Member: Dani
Dani Feb 20, 2006 at 15:16:49 (UTC)
Goto Top
Hi,
probier's mal hier mit:

// ---------------------------------- Email --------------------------------- //
	/* Your email where the results of the contact form will be sent to. */


$dest 		= "xxx@ddddd.aa";  
$subject 	= "BETREFF ";  
$body    	= "Text kann nicht dargestellt werden!";  
$Name		= "NAME";  
$From		= "xxxx@dddd.aa";  

$header  = '';  
$header.= 'From: "' . $Name . '" <' . $From . ">\r\n";  
$header.= 'Reply-To: "' . $Name . '" <' . $From . ">\r\n";  
$header.= "X-Mailer: PHP/" . phpversion() . "\n";  
$header.= "MIME-Version: 1.0\n";   
$header.= "Content-type: text/html; charset=iso-8859-1\n";  

for($i=0;$i<1;$i++)
 {
  if(!mail($dest, $subject, $body, $header ))
   {
	print "Während der Übertragung ist ein Fehler aufgetreten !   
";  
   }
 }
Mitglied: 17735
17735 Feb 21, 2006 at 16:04:58 (UTC)
Goto Top
Hi,

vielen Dank für eure Beiträge und Links!

Danke dir Dani, den Quelltext kann ich sehr gut gebrauchen; danke euch anderen für die informativen Links! (Habe endlich auch den Befehl mail(); in PHP kapiert face-big-smile)

Gruß,
Ahnenforscher
Member: schrecke
schrecke Mar 03, 2006 at 21:22:20 (UTC)
Goto Top
i hätt ma mein frisch gebautes Bsp:

 $name=   $_POST['name'];  
 $mail=   $_POST['mail'];  
 $betreff=$_POST['betreff'];  
 $text=   $_POST['text'];  

 if($mail!=''){  
    $mailtext="Name: ";  
    $mailtext.=$name;
    $mailtext.="\n";  
    $mailtext.="e-Mail-Adresse: ";  
    $mailtext.=$mail;
    $mailtext.="\n";  
    $mailtext.="Betreff: ";  
    $mailtext.=$betreff;
    $mailtext.="\n";  
    $mailtext.="Anfrage:";  
    $mailtext.="\n";  
    $mailtext.=$text;
    $absender="From:";  
    $absender.=$mail;
    $send= @mail("xxx@xxx.de","Anfrage über Homepage: ".$betreff,$mailtext,$absender);  
    if(!$send){
      header('Location: kontakt_fehler.php');  
      die();
    }
    header('Location: kontakt_erfolgreich.php');  
    die();
}
 else{
    header('Location: kontakt_datenfalsch.php');  
    die();
 }


ne Frage hätt ich mal Was muss ich n wo einbauen, um überprüfen, das eine koreckte mail-adresse eingetragen wurden, also xxx@xx.xx und evtl würd i gern überprüfen, das in JEDEM Feld auch was din steht ergo Name, Add, Betr und Text. Derzeit meckert der ja nur wenn keine Add drin steht.
Member: soa2ii
soa2ii Mar 04, 2006 at 09:47:54 (UTC)
Goto Top
hmmm für das überprüfen der mail adresse hatte ich mal ne recht hübsche ereg() klausel... leider verlegt und selbst nie ganz verstanden :/
aber das einfache prinzip ist folgendes:
if(ereg("@",$email) && ereg(".",$email))
{
-> email ok;
}

überprüft die email auf ein @ und auf . ... ist zwar nicht sehr wirkungsvoll aber einfach und ein paar deppen sperrt es auch aus...

ich hatte leider etwas länger nix mehr mit php zu tun... es gibt aber noch eine funktion damit kann man nen string aufsplitten das man dann quasi
name
@
anbieter
.
domain
hat und man kann alle teile gut einzeln überprüfen... nur fällt mir die funktion leider nicht ein :/ geht in richtung substr() glaub ich

ansonsten einfach mal googlen und nach der komplizierten ereg klausel suchen....

um den rest deiner variablen zu überprüfen machst du einfach vor dem mail befehl

if($variable != "") // wenn du sie lediglich auf inhalt überprüfen willst
{
$fehler = true;
}
das machst du mit allen variablen und mail() lässt du dann nur ausführen wenn $fehler am ende noch false ist.
sprich:
if(!$fehler)
{
mail(...);
}

mfg
soa2ii