Top-Themen

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 14.04.2010 um 13:25:43 Uhr
Habe mir erlaubt den Code in einen Codeblock zu packen.

Formulardaten mit php per e-mail verschicken

Mitglied: LimAd89

LimAd89 (Level 1) - Jetzt verbinden

11.04.2010, aktualisiert 14.04.2010, 5158 Aufrufe, 7 Kommentare

Hallo erstmal !

Ich habe ein kleines Problem und hoffe ihr könnt mir helfen.

Ich habe eine kleine aber doch recht feine Internetseite programmiert . Auf dieser Seite befindet sich auch ein Formular, nichts weltbewegendes , mit Name , E-Mail und einem Nachrichtenfenster , sodass Leute mit mir schnell und einfach Kontakt aufnehmen können. Ich möchte diese Daten per E-Mail an meine GMX-Adresse weiterreichen lassen .

Wenn ich bei <form action="mailto:..."> angebe öffnet sich outlook. Dass ist mir zu umständlich, deswegen bin ich auf PHP umgestiegen und hab ein bisschen Quelltext dazugeschrieben. Wenn ich die PHP-Seite nun aufrufe und auf senden klicke kam zuerst die Nachricht, dass ich die SMTP Einstellungen in php.ini ändern solle. Als SMTP habe ich dann mail.gmx.net eingetragen .

Wenn ich nun das Formular abschicke , bekomm ich aber weiterhin nicht die Daten übermittelt , sondern werde nur auf eine weisse Seite weitergeleitet.

Der Quellcode ist übrigens :
01.
<?php 
02.
 
03.
### Konfiguration ### 
04.
 
05.
# An welche Adresse sollen die Mails gesendet werden? 
06.
$strEmpfaenger = 'beispiel@providerxy.yx';  <-- Hier habe ich bereits meine GMX E-Mail Adresse eingetragen 
07.
 
08.
# Welche Adresse soll als Absender angegeben werden? 
09.
# (Manche Hoster lassen diese Angabe vor dem Versenden der Mail ueberschreiben) 
10.
$strFrom       = '"Formmailer" <Versender@provider.xy>'; <-- Hier habe ich eine andere E-Mail angegeben. 
11.
 
12.
# Welchen Betreff sollen die Mails erhalten? 
13.
$strSubject    = 'Feedback'; 
14.
 
15.
# Zu welcher Seite soll als "Danke-Seite" weitergeleitet werden? 
16.
# Wichtig: Sie muessen hier eine gueltige HTTP-Adresse angeben! 
17.
# $strReturnhtml = 'http://www.google.de'; 
18.
 
19.
# Welche(s) Zeichen soll(en) zwischen dem Feldnamen und dem angegebenen Wert stehen? 
20.
$strDelimiter  = ":\t"
21.
 
22.
### Ende Konfiguration ### 
23.
 
24.
if($_POST
25.
26.
 $strMailtext = ""
27.
 
28.
 while(list($strName,$value) = each($_POST)) 
29.
30.
  if(is_array($value)) 
31.
32.
   foreach($value as $value_array
33.
34.
    $strMailtext .= $strName.$strDelimiter.$value_array."\n"
35.
36.
37.
  else 
38.
39.
   $strMailtext .= $strName.$strDelimiter.$value."\n"
40.
41.
42.
 
43.
 if(get_magic_quotes_gpc()) 
44.
45.
  $strMailtext = stripslashes($strMailtext); 
46.
47.
 
48.
 mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom
49.
  or die("Die Mail konnte nicht versendet werden."); 
50.
# header("Location: $strReturnhtml"); 
51.
 exit
52.
53.
 
54.
?> 
55.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
56.
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
57.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"
58.
    <head> 
59.
        <title>Einfacher PHP-Formmailer</title> 
60.
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
61.
    </head> 
62.
    <body> 
63.
 
64.
        <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post"
65.
            <!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. --> 
66.
            <dl> 
67.
                <dt>Ihr Name:</dt> 
68.
                <dd><input type="text" name="Versender" /></dd> 
69.
                <dt>Ihre E-Mail:</dt> 
70.
                <dd><input type="text" name="E-Mail" /></dd> 
71.
                <dt>Bemerkungen:</dt> 
72.
                <dd><textarea name="Bemerkungen" rows="3" cols="20">Bemerkungen</textarea></dd> 
73.
            </dl> 
74.
            <!-- Ende der Beispielangaben --> 
75.
            <p> 
76.
            <input type="submit" value="Senden" /> 
77.
            <input type="reset" value="Zurücksetzen" /> 
78.
            </p> 
79.
        </form> 
80.
    </body> 
81.
</html>  
82.
 





Muss ich noch irgendetwas an der php.ini ändern ??


Mfg LimAd
Mitglied: dog
11.04.2010 um 17:53 Uhr
Eine weiße Seite nützt uns nichts.
Füge an den Anfang deines PHP-Scripts folgendes ein:
01.
error_reporting(E_ALL|E_STRICT); 
02.
ini_set('display_errors','On');
Und poste dann die Fehlermeldung (und dann zumindest das ini_set wieder auskommentieren).
Bitte warten ..
Mitglied: matze2010
11.04.2010 um 18:43 Uhr
Hallo LimAd,

ich denke, der Server wird nichts versenden. In der Regel benutzt mail() die Funktionalität eines Mailversenders (sendmail auf Linuxsystemen). Deshalb steht in der php.ini meist "localhost". Wenn du nun mail.gmx.net einträgst, dann musst du dich dort natürlich authorisieren. gmx.net wird keine anonymen Versender zulassen.

Bevor du nun sendmail installierst, solltest du bedenken, dass vor allem die Freemail-Anbieter nicht eingetragene E-Mail-Versender sperren. (Du kannst also nicht von xyz.de Mails für meineDomain.de versenden, wenn nicht xyz.de als Mailserver eingetragen ist.

Meine richtig aktive PHP-Zeit ist schon was länger her, aber ich meine, es gibt smtp Skripte (hotscripts.com oder ähnliche Sammlungen), welche sich dann bei gmx.net anmelden können, um dir selbst (an die selbe Adresse) eine Mail zu senden. Allerdings musst du dort Kundennummer und Passwort im Skript eintragen.

Noch ein Link zum lesen, den ich grad gefunden habe:
http://email.about.com/od/emailprogrammingtips/qt/PHP_Email_SMTP_Authen ...

Lg
Matze
Bitte warten ..
Mitglied: dog
11.04.2010 um 18:47 Uhr
Bevor du nun sendmail installierst, solltest du bedenken, dass vor allem die Freemail-Anbieter nicht eingetragene E-Mail-Versender sperren. (Du kannst also nicht von xyz.de Mails für meineDomain.de versenden, wenn nicht xyz.de als Mailserver eingetragen ist.

So funktioniert das Spielchen nicht, denn damit würden sich die Freemail-Anbieter alle selbst kicken, weil sie aufgrund der Masse and Mails andere Hosts für den Versand und den Empfang benutzen und Techniken wie SPF werden kaum umgesetzt.
Bitte warten ..
Mitglied: matze2010
11.04.2010 um 18:52 Uhr
Hallo dog,

ich habe bei gmx die Erfahrung gemacht (ist schon etwas her), dass es nicht möglich war, von meinem Server Mail zu versenden. Vielleicht geht es heut wieder oder es war ein anderer Fehler, habe diesbezüglich keine 100%igen Informationen, da ich den Host dann einfach eingetragen habe.

<edit>
GMX zumindest hat einen SPF -Eintrag.
gmx.net IN TXT v=spf1 ip4:213.165.64.0/23 ip4:74.208.5.64/26 -all 300s (5m)
</edit>

Lg
Matze
Bitte warten ..
Mitglied: LimAd89
12.04.2010 um 09:51 Uhr
Danke für die Tipps bis jetzt .

Auf den ersten Beitrag zurückzukommen.


Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in F:\Users\Kristof\Desktop\Neuer Ordner\xampp\htdocs\test2.php on line 53
Die Mail konnte nicht versendet werden.

ist die fehlermeldung die ich jetzt bekomme.
d.h. es ist warscheinlich wirklich, dass ich gmx nicht als mailserver angeben kann .
Bitte warten ..
Mitglied: dog
12.04.2010 um 10:25 Uhr
Soso, das erklärt einiges.
Weil du nicht Linux sondern Windows als Server benutzt braucht PHP einen SMTP-Server und "localhost" ist keiner und GMX ist dafür auch nicht geeignet.

Du musst dir z.B. Mercury als Relay installieren, der lokal alle Mails annimt und mit Authentifizierung an einen Smarthost weiterleitet...
Bitte warten ..
Mitglied: masterG
14.04.2010 um 13:27 Uhr
Ich würde für sowas die Klasse PHPMailer empfehlen da braucht man in der php.ini nicht so viel herum schreiben.
http://phpmailer.worxware.com/
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch Datei kopieren und E-Mail verschicken

Frage von TomJonesBatch & Shell2 Kommentare

Hallo zusammen, es geht um meine Datensicherung. Täglich um 22:00 Uhr werden meine Daten gesichert und auf mein NAS ...

Exchange Server

1 von n-Benutzer kann keine E-Mails verschicken

Frage von malikaExchange Server3 Kommentare

Hallo zusammen, ich habe einen Benutzer, der plötzlich E-Mails weder über Webinterface (OWA) noch über Outlook verschicken kann. Die ...

PHP

PHP File vom Server generieren und verschicken

gelöst Frage von fluppi1981PHP1 Kommentar

Hallo Zusammen, folgendes Problem: ich habe einige PHP dateien mit datenbank abfragen auf einem webserver liegen. Normalerweise liegen werden ...

Batch & Shell

Mail aus Batchdatei verschicken

Frage von ZadopeckBatch & Shell5 Kommentare

Hallo zusammen, das Thema hab ich hier schon gefunden, aber leider konnte ich für meinen Fall die Lösung nicht ...

Neue Wissensbeiträge
Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 3 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 3 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 3 StundenHardware5 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

MikroTik RouterOS

Mikrotik Advisory: Vulnerability exploiting the Winbox port

Information von colinardo vor 3 StundenMikroTik RouterOS

Brand aktuell: Eine Schwachstelle im Winbox-Port bei Mikrotik Routern erlaubt das Auslesen der User-Datenbank der Router. Patch ist aktuell ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux22 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

Netzwerkgrundlagen
VLAN - Offene Fragen
Frage von KnettenbrechNetzwerkgrundlagen17 Kommentare

Hallo zusammen, ich befasse mich derzeit mit dem Thema VLAN. Hierzu habe ich schon einige Guides gelesen, einschließlich des ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL13 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...