1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Formmailer gibt keine Mails weiter

Dieses Thema im Forum "PHP" wurde erstellt von CreativPur, 6. Dezember 2017.

  1. CreativPur

    CreativPur Erfahrenes Mitglied

    Hi,
    ich bin seit Tagen mal wieder mega am verzweifeln..
    Mein Formaler gibt keine Emails raus...

    Ich habe eine Seite, wo vorweg die Daten nochmals überprüft werden.
    Anschließend sende ich die Daten per GET weiter..
    PHP:
    1. <form action="formmailer.php" method="GET" id="korrekt">
    2.                 <div class="hidden">
    3.                     <input  class="form-control" type="text" name="Bewerber_id" value="<?php echo $Bewerber_id ?>">
    4.                     <input  class="form-control" type="text" name="Bewerbung_id" value="<?php echo htmlspecialchars($_GET['Bewerbung_id']) ?>">
    5.                     <input  class="form-control" type="text" name="Anschreiben_id" value="<?php echo htmlspecialchars($_GET['Anschreiben_id']) ?>">
    6.                     <input  class="form-control" type="text" name="Design_id" value="<?php echo htmlspecialchars($_GET['Design_id']) ?>">
    7.                     <input  class="form-control" type="text" name="design_bild" value="<?php echo $user['design_bild'] ?>">
    8.                     <input  class="form-control" type="text" name="header_text" value="<?php echo $user['header_text'] ?>">
    9.                     <input  class="form-control" type="text" name="header_bg" value="<?php echo $user['header_bg'] ?>">
    10.                     <input  class="form-control" type="text" name="bw_als" value="<?php echo $user['bw_als'] ?>">
    11.                     <input  class="form-control" type="text" name="bw_um" value="<?php echo $user['bw_um'] ?>">
    12.                     <input  class="form-control" type="text" name="img_pass" value="<?php echo $user['img_pass'] ?>">
    13.                     <input  class="form-control" type="text" name="vorname" value="<?php echo $user['vorname'] ?>">
    14.                     <input  class="form-control" type="text" name="nachname" value="<?php echo $user['nachname'] ?>">
    15.                     <input  class="form-control" type="text" name="email" value="<?php echo $user['email'] ?>">
    16.                     <input  class="form-control" type="text" name="firma_an_anrede" value="<?php echo $user['firma_an_anrede'] ?>">
    17.                     <input  class="form-control" type="text" name="firma_an_vorname" value="<?php echo $user['firma_an_vorname'] ?>">
    18.                     <input  class="form-control" type="text" name="firma_an_nachname" value="<?php echo $user['firma_an_nachname'] ?>">
    19.                     <input  class="form-control" type="text" name="firma_an_email" value="<?php echo $user['firma_an_email'] ?>">
    20.                 </div>
    21.                 <button type="submit" class="btn btn-success btn-xs hidden-xs">
    22.                 <strong>JA</strong>, die Bewerbungsdaten sind korrekt
    23.                 &nbsp;
    24.                 <span class="glyphicon glyphicon-thumbs-up" style="padding:3px 3px 3px 3px;"></span>
    25.                 </button>
    26.             </form>
    Wie zu sehen ist, werden diese Daten per GET an die formmailer.php gesendet
    PHP:
    1. <?php
    2. ini_set('display_errors', 1);
    3.  
    4. $Bewerber_id = htmlspecialchars($_GET['Bewerber_id']);
    5. $Bewerbung_id = htmlspecialchars($_GET['Bewerbung_id']);
    6. $Anschreiben_id = htmlspecialchars($_GET['Anschreiben_id']);
    7. $Design_id = htmlspecialchars($_GET['Design_id']);
    8. $design_bild = htmlspecialchars($_GET['design_bild']);
    9. $header_text = htmlspecialchars($_GET['header_text']);
    10. $header_bg = htmlspecialchars($_GET['header_bg']);
    11. $bw_als = htmlspecialchars($_GET['bw_als']);
    12. $bw_um = htmlspecialchars($_GET['bw_um']);
    13. $img_pass = htmlspecialchars($_GET['img_pass']);
    14. $vorname = htmlspecialchars($_GET['vorname']);
    15. $nachname = htmlspecialchars($_GET['nachname']);
    16. $email = htmlspecialchars($_GET['email']);
    17. $firma_an_anrede = htmlspecialchars($_GET['firma_an_anrede']);
    18. $firma_an_vorname = htmlspecialchars($_GET['firma_an_vorname']);
    19. $firma_an_nachname = htmlspecialchars($_GET['firma_an_nachname']);
    20. $firma_an_email = htmlspecialchars($_GET['firma_an_email']);
    21.  
    22. $anrede = $firma_an_anrede;
    23. switch ($anrede)
    24. {
    25.    case "Frau":
    26.       $anrede = "Sehr geehrte Frau  ". ($_GET['firma_an_vorname']) . ' ' . ($_GET['firma_an_nachname']).',';
    27.       break;
    28.    case "Herr":
    29.       $anrede = "Sehr geehrter Herr  ". ($_GET['firma_an_vorname']) . ' ' . ($_GET['firma_an_nachname']).',';
    30.       break;
    31.    default:
    32.       $anrede = "Sehr geehrte Damen und Herren,";
    33. }
    34.  
    35. switch ($bw_um)
    36. {
    37.     case "ausbildung":
    38.         $bw_um = "um einen Ausbildungsplatz als ".$bw_als;
    39.         break;
    40.     case "praktikum":
    41.         $bw_um = "um ein Praktikumsplatz als ".$bw_als;
    42.         break;
    43.     case "arbeitsplatz":    
    44.         $bw_um = "um einen Arbeitsplatz als ".$bw_als;
    45.         break;
    46. }
    47.  
    48.  
    49. $empfaenger = $firma_an_email;
    50. $betreff = "Bewerbung als ".$bw_als." von ".$vorname. " " .$nachname;
    51. $from = "From:Bewerber " .$vorname." ".$nachname."  <".$email.">\n";
    52. $from .= "Reply-To: ".$vorname." ".$nachname." <".$email.">\n";
    53. $from .= "Content-type: text/html; charset=UTF-8\r\n";
    54. $urlDankeSeite = 'http://www.bewerbungsemail.de/Bewerber/gesendete_bw_emails_info.php?Bewerbung_id='.$Bewerbung_id.'';
    55. $text = "
    56. <html>
    57.    <head>
    58.        <style>
    59.        .hero {
    60.          display: table;
    61.          height: 100vh;
    62.          background: url(http://www.bewerbungsemail.de/Bewerber/design_bilder/".$design_bild.".jpg) top center fixed;
    63.          }
    64.        .header_text {color:".$header_text.";}
    65.        .passfoto {
    66.            box-shadow: 10px 20px 30px grey;
    67.            border-radius:10px;
    68.        }
    69.        .bw {
    70.            font-size:72px;
    71.        }
    72.        p {font-size:14px;}
    73.        </style>
    74.    </head>
    75.    <body>
    76.        <table width='100%' border='0' class='hero'>
    77.            <tr>
    78.                <td>
    79.                    <br /><br />
    80.                        <table width='100%' border='0'>
    81.                            <tr>
    82.                                <td width='60%'>&nbsp;
    83.                                </td>
    84.                                <td width='40%'>
    85.                                    <table width='80%' border='0' align='center' style='text-align:center; bgcolor:#".$header_bg."'>
    86.                                        <tr>
    87.                                            <td align='center'><img src='http://www.bewerbungsemail.de/Bewerber/upload/".$img_pass."'' class='passfoto img-responsive' width='150'><br /></td>
    88.                                        </tr>
    89.                                        <tr>
    90.                                            <td><h1 style='color:#".$header_text."'>Bewerbung</h1></td>
    91.                                        </tr>
    92.                                        <tr>
    93.                                            <td><h3 style='color:#".$header_text.";'> als ".$bw_als."</h3></td>
    94.                                        </tr>
    95.                                        <tr>
    96.                                            <td><h5 style='color:#".$header_text."'>von</h5></td>
    97.                                        </tr>
    98.                                        <tr>
    99.                                            <td><h1 style='color:#".$header_text."'>".$vorname. " " .$nachname."</h1></td>
    100.                                        </tr>
    101.                                        <tr>
    102.                                            <td><hr /></td>
    103.                                        </tr>
    104.                                        <tr>
    105.                                            <td style='text-align:left;'><p style='color:#".$header_text."'>".$anrede."
    106.                                            <br /><br />
    107.                                            hiermit möchte ich mich ".$bw_um." in Ihrem Unternehmen bewerben.
    108.                                            <br />
    109.                                            Meine persönlichen Bewerbungsunterlagen finden Sie auf meiner Bewerbungshomepage.
    110.                                            <br /><br />
    111.                                            Mit freundlichem Gruß
    112.                                            <br />
    113.                                            <em>".$vorname. " " .$nachname."</em>
    114.                                            </p>
    115.                                            <br /></td>
    116.                                        </tr>
    117.                                        <tr>
    118.                                            <td height='100' valign='top'>
    119.                                            <table border='0' align='center'>
    120.                                                  <tr>
    121.                                                    <td style='border-radius:15px; background-color:#FFFFFF; padding:5px 8px 5px 8px; font-size:20px;'>
    122.                                                    <a href='https://www.bewerbungsemail.de/Bewerbungen_Versendete/index.php?Bewerbung_id=".$Bewerbung_id."&Design_id=".$Design_id."&Anschreiben_id=".$Anschreiben_id.
    123.                                                     "&Bewerber_id=".$Bewerber_id."' target='_blank'>
    124.                                                    Zu meiner Bewerbungshomepage
    125.                                                    </a>
    126.                                                    </td>
    127.                                                  </tr>
    128.                                            </table>
    129.                                            <br /><br /><br /><br />
    130.                                            </td>
    131.                                        </tr>
    132.                                    </table>
    133.                                </td>
    134.                            </tr>
    135.                        </table>
    136.                </td>
    137.            </tr>
    138.        </table>
    139.     </body>
    140. </html>
    141. ";
    142. mail($empfaenger, $betreff, $text, $from);
    143. header("Location: $urlDankeSeite");
    144.      exit;
    145.  
    146.  
    147. ?>
    Zum Schluss wird eine DANKE-Seite korrekt ausgegeben, nur empfange ich keine Emails..
    Woran kann dies liegen ?
     
  2. Kalito

    Kalito Erfahrenes Mitglied

    Das kann viele Ursachen haben. Entwickelst du lokal mittels xampp oder schon auf einem Server? Wenn auf dem Server, ist auf diesen Mailversand eingerichtet? Was gibt
    Code (Text):
    1.  var_dump(mail($empfaenger, $betreff, $text, $from));
    aus?

    Mal so am Rande. Warum übergibst du die Daten mittels GET?????? Schon alleine aus Datenschutzgründen würde ich dir hier vom GET abraten. Zudem ist das auch angreifbarer.

    Hast du schon mal überlegt deine Seiten mit einem Framework ala Slim oder CakePHP zu bauen?
     
  3. CreativPur

    CreativPur Erfahrenes Mitglied

    Mit Framework habe ich überhaupt keine Erfahrung.
    Die Seite ist schon auf dem Server und der Maulversand ist auch eingerichtet
     
  4. Kalito

    Kalito Erfahrenes Mitglied

    und was gibt var_dump aus?
     
  5. CreativPur

    CreativPur Erfahrenes Mitglied

    auf welche Seite muss ich das
    var_dump(mail($empfaenger, $betreff, $text, $from));
    einsetzen ?
    Formmailer.php oder Danke.php

    Ich habe es in beide Seiten eingebunden und das Resultat ist folgend ..

    Notice: Undefined variable: empfaenger in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail_neu/Bewerber/formmailer.php on line 7 Notice: Undefined variable: betreff in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail_neu/Bewerber/formmailer.php on line 7 Notice: Undefined variable: text in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail_neu/Bewerber/formmailer.php on line 7 Notice: Undefined variable: from in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail_neu/Bewerber/formmailer.php on line 7 bool(false) Warning: Cannot modify header information - headers already sent by (output started at /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail_neu/Bewerber/formmailer.php:7) in /mnt/web122/e3/07/58167107/htdocs/Bewerbungsemail_neu/Bewerber/formmailer.php on line 145
     
  6. EuroCent

    EuroCent KlappStuhl 2.0

    Hast Du mal geprüft ob überhaupt mail() etwas sendet?
    Wie @Kalito bereits erwähnte, setz auf POST statt auf GET.

    Versuch mal folgendes:
    PHP:
    1. mail("deine@email.tld", "Dein Betreff", "Dein Text");
    var_dump(mail()) -> Liefert dir immer TRUE zurück.
    Versuch das mal:

    PHP:
    1. function sendNewPasswdMail($userMail, $oldpass) {  
    2.         $this->toEmail = $this->escapeString($userMail);
    3.         $this->fromEmail = "xxx@xxx.de";
    4.         $this->subject = "Anforderung eines neuen Passwortes!";
    5.         $this->message = '<table width="100%" border="0" cellspacing="0" cellpadding="0">
    6.                                <tr>
    7.                                    <td width="25%"><font color="#f35D14" size="2" face="Tahoma">Neues Passwort :</font></td>
    8.                                    <td width="75%" height="22"><font color="#333333" size="-1" face="Tahoma">'.$oldpass.'</font></td>
    9.                                </tr>
    10.                                <tr>
    11.                                    <td height="22" colspan="2" align="center"><font color="#333333" size="-1" face="Tahoma">'.$this->getCopy().'</font></td>
    12.                                </tr>
    13.                            </table>';
    14.        
    15.         $this->headers = "MIME-Version: 1.0\n";
    16.         $this->headers .= "Content-type: text/html; charset=utf-8\n";
    17.         $this->headers .= "From: ".$this->fromEmail."\n";
    18.        
    19.         mail($this->toEmail, $this->subject, $this->message, $this->headers);
    20.     }
    Damit versende Ich generell immer meine Mails als HTML Konstrukt :)
    Dieser Auszug ist aus meiner Mailer-Klasse und versendet mit der Funktion ein neues generiertes Passwort. :)

    Vielleicht hilft dir der Konstrukt dabei :)
     
  7. CreativPur

    CreativPur Erfahrenes Mitglied

    Ich habe es jetzt folgend gelöst..
    PHP:
    1. $empfaenger = $firma_an_email;
    2. $betreff = "Bewerbung als ".$bw_als;
    3. $from = "From:$email";
    4. $from .= "Reply-To:<".$email.">\n";
    5. $from .= "Content-type: text/html; charset=UTF-8\r\n";
    6. $urlDankeSeite = 'http://www.bewerbungsemail.de/Bewerber/gesendete_bw_emails_info.php?Bewerbung_id='.$Bewerbung_id.'';
    7. $text = "  "........
    Leider habe ich in der Email immer nach der Absende-Adresse (siehe Bild) dieses Reply-To:
    Wie kann ich dieses entfernen ?
     

    Anhänge:

  8. EuroCent

    EuroCent KlappStuhl 2.0

    Ersetz diese Zeile
    PHP:
    1. $from .= "Reply-To:<".$email.">\n";
    durch
    PHP:
    1. $from .= "Reply-To:<".$email.">\r\n";
    Dann sollte es korrekt sein :)
     
  9. CreativPur

    CreativPur Erfahrenes Mitglied

    Dies habe ich auch schon versucht...
    Leider ohne Erfolg. Das dumme "Reply-To:" steht immer noch nach der Absender-Adresse
     
  10. Kalito

    Kalito Erfahrenes Mitglied

    da From und reply-To die selbe Mailadresse sind, kannst du doch das reply-to weglassen.
     
  11. CreativPur

    CreativPur Erfahrenes Mitglied

    Dann wird mir der gesamte Quelltext in der E-Mail angezeigt..
     
  12. EuroCent

    EuroCent KlappStuhl 2.0

    Ersetze das hier:
    PHP:
    1. $from = "From:$email";
    mit
    PHP:
    1. $from = "From:$email\r\n";
    Damit sollte es dann aber auch funktionieren :)
     
  13. CreativPur

    CreativPur Erfahrenes Mitglied

    Dann kommt keine E-Mail an
     
  14. EuroCent

    EuroCent KlappStuhl 2.0

    Dann versuch dass hier mal:
    PHP:
    1. $from = "From: ".$email."\r\n";
    Normalerweise sollte es funktionieren :)
     
  15. CreativPur

    CreativPur Erfahrenes Mitglied

    Leider nicht.. Bin auch schon am verzweifeln..
     
  16. Kalito

    Kalito Erfahrenes Mitglied

    Hast du es mal mit der Klasse von @EuroCent probiert?
     
  17. CreativPur

    CreativPur Erfahrenes Mitglied

    Ja, ich habe Sie alle probiert..
    Ich nehme doch gern Vorschläge an und versuche Sie umzusetzen..;)
     
Die Seite wird geladen...