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-ID: 26462

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

Ausgedruckt am: 15.11.2024 um 05:11 Uhr

Daila
Daila 20.02.2006 um 15:51:06 Uhr
Goto Top
Frage 1 kann ich spontan mal mit einem "Ja" beantworten, allerdings weiss ich grad den Code / Befehl nicht...
17735
17735 20.02.2006 um 16:03:40 Uhr
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
soa2ii
soa2ii 20.02.2006 um 16:07:22 Uhr
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
25523
25523 20.02.2006 um 16:10:50 Uhr
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
Dani
Dani 20.02.2006 um 16:16:49 Uhr
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 !   
";  
   }
 }
17735
17735 21.02.2006 um 17:04:58 Uhr
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
schrecke
schrecke 03.03.2006 um 22:22:20 Uhr
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.
soa2ii
soa2ii 04.03.2006 um 10:47:54 Uhr
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