17735
20.02.2006, aktualisiert am 04.03.2006
12704
8
0
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 26462
Url: https://administrator.de/contentid/26462
Ausgedruckt am: 15.11.2024 um 05:11 Uhr
8 Kommentare
Neuester Kommentar
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
es ist recht simpel email mit php zu versenden...
http://www.selfphp.de/funktionsreferenz/mail_funktionen/mail.php
mfg
soa2ii
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
Ein Beispiel:
http://aktuell.de.selfhtml.org/tippstricks/php/form-mail/
oder
http://www.gaijin.at/scrphpmailer.php
Hi,
probier's mal hier mit:
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 !
";
}
}
i hätt ma mein frisch gebautes Bsp:
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.
$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.
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
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