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, 5280 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
PHP
PHP Mail Funktion
Frage von gamerffPHP5 Kommentare

Hallo Forum, ich versuche grade mit der PHP mail() Funktion ein Kontaktformular zu erstellen. Leider kommt beim absenden immer ...

Administrator.de Feedback
E-Mail Benachrichtigung
gelöst Frage von DaniAdministrator.de Feedback12 Kommentare

Hallo zusammen, ich stelle fest, dass seit Freitag/Samstag keine E-Mailbenachrichtigung mehr erhalte. In den Einstellungen wird meine hinterlegte E-Mailadresse ...

E-Mail
E-Mail Newsletter
Frage von ProtectedE-Mail7 Kommentare

Hallo, wir versenden im Monat rund 1.000 E-Mails mit unserem E-Mail Server. Leider gelangen wir oft in Spam-Ordner bei ...

Entwicklung
E-mail Textanalyse
gelöst Frage von BitconEntwicklung5 Kommentare

Hallo zusammen Ich möchte im Rahmen meiner Ausbildung zum Fachinformatiker ein Projekt für die meine Firma realisieren. Das Projekt ...

Neue Wissensbeiträge
Debian

Partition angeblich voll, dabei aber noch nicht mal zur Hälfte belegt

Anleitung von diemilz vor 4 MinutenDebian

Hallo zusammen, ich habe ein kleines Problem: Ich habe auf einem physischen Debian Linux Server als ZoneMinder-Server (HP ProLiant ...

Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 4 TagenWindows 72 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 6 TagenInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 7 TagenMicrosoft Office9 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Notebooks in Firmenwlan authentifizieren
gelöst Frage von EarthShakerLAN, WAN, Wireless17 Kommentare

Guten Tag, unsere Firma möchte gerne flächendeckend WLAN einführen und hat zu diesem Zweck einen Dienstleister beauftragt. Wir benötigen ...

Peripheriegeräte
PS2 Y-Kabel für Maus+Tastatur an PS2 Combo-Anschluss ASUS Prime X370-A
gelöst Frage von Windows10GegnerPeripheriegeräte13 Kommentare

Hallo, ich bin am Überlegen das o.g. Motherboard anzuschaffen. Da ich aber noch PS/2 für Maus+Tastatur benötige (bei optischen ...

Windows 10
Netzlaufwerk verschwindet (aber nur bestimmter Laufwerksbuchstabe)
gelöst Frage von survial555Windows 1010 Kommentare

Hallo, ich habe ein ganz seltsames Problem. Systemumgebung: Server 2012 R2 als DC und Windows 10 Pro als Clients ...

Netzwerkmanagement
Netzwerk vorübergehend weg
Frage von ahstaxNetzwerkmanagement10 Kommentare

Hallo, folgendes Szenario stellt sich dar: Im Netzwerk mit Win7-PCs wurden Switche ausgetauscht. Grundsätzlich funktioniert alles mindestens so gut ...