Meine Web-Seite ist vorher auf einem 1und1 Server gelaufen und hat auch einwandfrei funktioniert. Nun habe ich einen eigenen virtuellen Host mit Ubuntu 16.04 auf dem ich Apache2, php7 und mariadb installiert habe.
Nach dem Umzug der Seite auf diesen neuen Server funktioniert nun mein Kontaktformular nicht mehr... Bei der Empfängeradresse steht natürlich nicht XXX@XXX.info, sondern die E-Mail Adresse wo es hin geht.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <?php // wenn das Formular Uebermittelt wurde if(isset($_POST['abschicken'])){ $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $email = $_POST['email']; $betreff = $_POST['betreff']; $wohnort = $_POST['wohnort']; $telefon = $_POST['telefon']; $text = $_POST['text']; $array = array($vorname, $nachname, $betreff, $wohnort, $telefon, $text); // die Uebermittelten Variablen werden zum "Text der Email" zusammengefasst // if(isset($_POST['abschicken'])){ // $mailnachricht.=ucfirst($_POST['abschicken']).": $wert\n"; // } // $mailnachricht.="\nDatum/Zeit: ". date("d.m.Y H:i:s"); // Ueberpruefen ob alle Pflichtfelder gefuellt sind empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" : false; empty($vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" : false; empty($betreff) ? $err[] = "<p>- Bitte den Betreff auswählen.</p>" : false; empty($email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" : false; empty($text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" : false; // wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefuellte" Formular angezeigt if(!empty($err)) { echo "<p>Bitte korrigieren Sie folgende Fehler:</p>"; foreach($err as $fehler){ echo $fehler; } ?> <form action="index.php?page=kontaktform" method="post"> <table width="100%" border="0" cellpadding="3" cellspacing="1"> <tr><td width="140" align="right"><b>*Nachname:</b></td><td align="left"><input type="text" name="nachname" value="<?php echo $nachname; ?>" style="width:100%;" /></td></tr> <tr><td align="right"><b>*Vorname:</b></td><td align="left"><input type="text" name="vorname" value="<?php echo $vorname; ?>" style="width:100%" /></td></tr> <tr><td align="right"><b>*Betreff:</b></td><td align="left"><select name="betreff" style="width:100%"> <option></option> <option<?php if($betreff == "Anfrage"){ echo " selected";} ?>>Anfrage</option> <option<?php if($betreff == "Hilfe"){ echo " selected";} ?>>Hilfe</option> <option<?php if($betreff == "Kritik"){ echo " selected";} ?>>Kritik</option> <option<?php if($betreff == "Verbesserungsvorschlag"){ echo " selected";} ?>>Verbesserungsvorschlag</option> <option<?php if($betreff == "Sonstiges"){ echo " selected";} ?>>Sonstiges</option> </select></td></tr> <tr><td align="right"><b>Wohnort:</b></td><td align="left"><input type="text" name="wohnort" value="<?php echo $wohnort; ?>" style="width:100%" /></td></tr> <tr><td align="right"><b>Telefon:</b></td><td align="left"><input type="text" name="telefon" value="<?php echo $telefon; ?>" style="width:100%" /></td></tr> <tr><td align="right"><b>*E-Mail:</b></td><td align="left"><input type="text" name="email" value="<?php echo $email; ?>" style="width:100%" /></td></tr> <tr><td colspan="2"><textarea rows="12" style="width:100%" name="text"><?php echo $text; ?></textarea></td><td> </td></tr> <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular löschen" style="width:49%" /> <input type="submit" name="abschicken" class="button" value="Formular absenden" style="width:49%" /></td></tr> </table> </form> <p align="right"><b>*Pflichtfelder</b></p> <?php // sind keine Fehler vorhanden, wird die Email versendet } else { $mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST']." - ".$betreff; $mailnachricht= $vorname." ".$nachname." aus ".$wohnort." Telefonnummer: ".$telefon." laesst Ihnen folgende Nachricht zukommen: ".$text; // HIER DIE EMPFAENGER EMAIL-ADRESSE ANPASSEN!!! if(mail("XXX@XXX.info", $mailbetreff, $mailnachricht, "From: $email")){ echo "<p>Vielen Dank fuer Ihre eMail!</p>"; } else { echo "<p>Ein Fehler ist aufgetreten!</p>"; } } // das Formular welches als erstes dem Besucher angezeigt wird } else { ?> <form action="index.php?page=kontaktform" method="post"> <table width="100%" border="0" cellpadding="3" cellspacing="1"> <tr><td width="140" align="right"><b>*Nachname:</b></td><td align="left"><input type="text" name="nachname" value="" style="width:100%;" /></td></tr> <tr><td align="right"><b>*Vorname:</b></td><td align="left"><input type="text" name="vorname" value="" style="width:100%" /></td></tr> <tr><td align="right"><b>*Betreff:</b></td><td align="left"><select name="betreff" style="width:100%"> <option></option> <option>Anfrage</option> <option>Hilfe</option> <option>Kritik</option> <option>Verbesserungsvorschlag</option> <option>Sonstiges</option> </select></td></tr> <tr><td align="right"><b>Wohnort:</b></td><td align="left"><input type="text" name="wohnort" value="" style="width:100%" /></td></tr> <tr><td align="right"><b>Telefon:</b></td><td align="left"><input type="text" name="telefon" value="" style="width:100%" /></td></tr> <tr><td align="right"><b>*E-Mail:</b></td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr> <tr><td colspan="2"><b>Ihre Nachricht für uns:</b></ br><textarea rows="12" style="width:100%" name="text"></textarea></td><td> </td></tr> <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Formular löschen" style="width:49%" /> <input type="submit" name="abschicken" value="Formular absenden" style="width:49%" /></td></tr> </table> </form> <p align="right"><b>*Pflichtfelder</b></p> <?php |
E-Mail kommen aber nicht an. Mach ich das ganze auf dem 1und1 Server wieder, funktioniert alles.
Ich wollte die Seite erstmal nicht groß verändern sondern einfach so zum laufen bekommen.
In der syslog konnte ich noch folgendes finden, wenn ich das Kontaktformular ausgefüllt habe: EMail kommt aber nicht an...
1 Jan 26 13:34:01 Web02 cron[1280]: (*system*sendmail) RELOAD (/etc/cron.d/sendmail) 2 Jan 26 13:34:03 Web02 apache2: [26-Jan-2017 13:34:03 Europe/Berlin] mail() on [/var/www/XXX.info/public_html/inhalt/kontaktform.php:65]: To: XXX@XXX.info -- Headers: From: julia@becker-test.de 3 Jan 26 13:34:03 Web02 sendmail[26019]: v0QCY3oB026019: from=www-data, size=251, class=0, nrcpts=1, msgid=<201701261234.v0QCY3oB026019@Web02.YYY.de>, relay=www-data@localhost 4 Jan 26 13:34:04 Web02 sm-mta[26020]: v0QCY3q0026020: from=<www-data@Web02.YYY.de>, size=491, class=0, nrcpts=1, msgid=<201701261234.v0QCY3oB026019@Web02.YYY.de>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1] 5 Jan 26 13:34:04 Web02 sendmail[26019]: v0QCY3oB026019: to=XXX@XXX.info, ctladdr=www-data (33/33), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30251, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (v0QCY3q0026020 Message accepted for delivery) 6 Jan 26 13:34:04 Web02 sm-mta[26023]: v0QCY3q0026020: to=<XXX@XXX.info>, ctladdr=<www-data@Web02.YYY.de> (33/33), delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=120491, relay=mx01.kundenserver.de. [217.72.192.67], dsn=5.0.0, stat=Service unavailable 7 Jan 26 13:34:04 Web02 sm-mta[26023]: v0QCY3q0026020: v0QCY4q0026023: DSN: Service unavailable 8 Jan 26 13:34:04 Web02 sm-mta[26023]: v0QCY4q0026023: to=<www-data@Web02.YYY.de>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent
Muss was in der PHP.ini angepasst werden oder brauch ich noch irgendein Modul? Kann mir jemand weiterhelfen?