Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator masterG am 06.10.2009 um 15:11:17 Uhr
Ich habe mir ein erlaubt den Code etwas zu Strukturieren.
GELÖST

Kontaktformular zu Freemailer umformen

Frage Entwicklung PHP

Mitglied: flolin

flolin (Level 1) - Jetzt verbinden

25.09.2009, aktualisiert 06.10.2009, 3183 Aufrufe, 2 Kommentare

Hallo, bitte um Hilfe!

Ich habe folgendes Kontakt formular-Script:

01.
 <?php 
02.
  $formularAnzeigen = false; 
03.
  if (!empty($_POST["senden"]) && ( empty($_POST["eMail"]) ||  empty($_POST["nachricht"]))) { 
04.
$formularAnzeigen = true;echo '<span style="color: #FF0000; font-size: x-large;">Bitte alle Pflichtfelder ausfuellen.</span>'; 
05.
}  
06.
else if (!empty($_POST["senden"]) && !isEmail($_POST["eMail"])) { 
07.
$formularAnzeigen = true;echo '<span style="color: #FF0000; font-size: x-large;">Die E-Mail-Adresse ist nicht korrekt.</span>'; 
08.
}  
09.
else if (empty($_POST["senden"])) {$formularAnzeigen = true; 
10.
}  
11.
if ($formularAnzeigen) { 
12.
?> 
13.
<form name="kontaktFormular" method="post" action="<?=$_SERVER[PHP_SELF]; ?>" onSubmit="return isValid()"
14.
               <table width="800" border="0"><tr><td>&nbsp;</td><td><strong></strong></td><td><input name="vorName" type="text" value="<?=$_POST['vorName']; ?>" /></td><td> 
15.
        &nbsp;</td></tr><tr> 
16.
      <td><div align="center">*</div></td><td><strong></strong></td><td><input name="eMail" type="text" id="eMail" value="<?=$_POST['eMail']; ?>" /></td><td>zB: name@gmx.net, ihrName@web.de</td></tr><tr><td>&nbsp;</td><td><strong></strong></td><td><input name="betreff1" type="text" id="betreff1" value="<?=$_POST['betreff1']; ?>" size="50" /></td><td>&nbsp;</td></tr><tr><td><div align="center">*</div></td><td><strong></strong></td><td><textarea name="nachricht" cols="40" rows="10"><?=$_POST['nachricht']; ?></textarea></td><td>        &nbsp;      </td></tr><!--ende nachricht-->    <tr>      <td colspan="3">        <div align="center">          <input name="senden" type="submit" value="Senden" />        </div>      </td>         <td>&nbsp;</td>    </tr>  </table></form> 
17.
<?php 
18.
  echo'<a href="http://www.peuss.com/PHP/KontaktFormularGenerator">KontaktFormularGenerator</a>';   
19.
}  
20.
else {    $eMail = ' 
21.
         
22.
 
23.
'.$_POST['vorName'].' 
24.
         
25.
 
26.
'.$_POST['eMail'].' 
27.
         
28.
 
29.
'.$_POST['betreff1'].' 
30.
         
31.
 
32.
'.$_POST['nachricht'].''; 
33.
if (@mail("Hier sollte die Empfänger-Adresse@stehen.de"
34.
         "Neue Nachricht vom Kontaktformular"
35.
         $eMail)) { 
36.
echo "Ihre Nachricht wurde an [Empfängermail] verschickt, vielen Dank!<br />"
37.
 }  
38.
else
39.
echo "E-Mail-Verkehr funktioniert zur Zeit nicht<br />"
40.
41.
if ($_POST['kopie'])  
42.
{if (@mail($_POST['eMail'], 
43.
           "Hier sie Kopie!",$eMail)) {echo "Sie haben eine Kopie der Nachricht zugeschickt bekommen.<br />";}}}function isEmail($email) {$nonascii      = "\x80-\xff"; $nqtext        = "[^\\$nonascii\015\012\"]";$qchar         = "\\[^$nonascii]";    $protocol      = "(?:mailto:)";    $normuser      = "[a-zA-Z0-9][a-zA-Z0-9_.-]*";$quotedstring  = "\"(?:$nqtext|$qchar)+\"";    $user_part     = "(?:$normuser|$quotedstring)";    $dom_mainpart  = "[a-zA-Z0-9][a-zA-Z0-9._-]*\.";    $dom_subpart   = "(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*";    $dom_tldpart   = "[a-zA-Z]{2,5}";    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";    $regex         = "$protocol?$user_part\@$domain_part";    if (preg_match("/^$regex$/",$email)) {      return true;    }    return false;  } 
44.
?> 
Doch mein Problem ist ich möchte das die Nachricht im Formular nicht an eine fixe E-Mail Adresse gesendet wird sondern an eine, die im Feld `eMail´ angegeben wird!

Bitte um Hilfe
Flo
Mitglied: maretz
25.09.2009 um 09:32 Uhr
Moin,

wenn du deinen Quellcode mal vernünftig formatierst dann kann man sich das auch durchlesen...
(Muss man eigentlich immer erwähnen das IHR Hilfe braucht - und dafür doch ein mindestmaß an Arbeitserleichterung für den Leser normal selbstverständlich sein sollte?!?)

Generell: Mach dir doch nen Textfeld indem du die Email-Adresse für den Empfänger eingeben lässt...

Allerdings: Diese Mails werden vermutlich ca. 1-2 % der Leute wirklich erreichen - da kaum ein Mailsystem heute noch sowas am Spam-Filter vorbei lässt... Sofern dein Script nämlich öffentlich aufrufbar ist (und davon geht jeder Spamfilter ja erstmal aus) ist es eine Frage von Minuten bis der erste Robot das ding missbraucht...
Bitte warten ..
Mitglied: sellfisch
08.10.2009 um 11:03 Uhr
Hallo Flolin,

meiner Meinung nach, sollte man es vermeiden, Formulare bereitzustellen, die eine Email an eine im Formular definierbare Email versendet, da solche Formulare in der Regel zu Spamschleudern motieren.
Aber um dir bei deinem Problem zu helfen:

Ich verstehe dein Problem nicht so ganz. Du versendest die Mail doch schon an die Emailadresse im Formular.
Mit:
01.
@mail("Hier sollte die Empfänger-Adresse@stehen.de",   "Neue Nachricht vom Kontaktformular", $eMail)) { 
Oder sollen wir dir jetzt die Korrekte Variable dazu nennen?
01.
@mail($_POST['eMail'],   "Neue Nachricht vom Kontaktformular", $eMail)
oder willst du einen Absender definieren?

01.
@mail($_POST['eMail'],   "Neue Nachricht vom Kontaktformular", $eMail, "From: spam@example.com") 
Ansonsten solltest du die Mail noch mit Regex überprüfen

so long
Bitte warten ..
Ähnliche Inhalte
E-Mail
gelöst Meinungsumfrage: Freemail-Anbieter (38)

Frage von honeybee zum Thema E-Mail ...

HTML
Kontaktformular 3 Spaltig (1)

Frage von wescraven07 zum Thema HTML ...

PHP
gelöst Kontaktformular: Ausgabe auf derselben Seite (3)

Frage von honeybee zum Thema PHP ...

E-Mail
gelöst Freemailer: Emails in ein altes Profil sichern (3)

Frage von sabines zum Thema E-Mail ...

Neue Wissensbeiträge
Firewall

PfSense Repository für Version 2.3.x

(2)

Information von Dobby zum Thema Firewall ...

LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(4)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Hardware

GPD Pocket: Winziger Laptop für Wenig Tipper

(1)

Information von pelzfrucht zum Thema Hardware ...

Windows 10

Microsoft veröffentlicht das "Fall Creators Update

(10)

Information von Penny.Cilin zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (20)

Frage von sunics zum Thema Hosting & Housing ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...