[PHP] Mailversand

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Phil333, 15. Mai 2009 .

  1. 15. Mai 2009
    Mailversand

    Guten Tag an alle!

    Ich habe ein script, das 2 eMails verschicken soll.
    Eine mit Anhang, und eine mit reinem (html) text.

    Das Problem ist, das manchmal beide eMails ankommen und manchmal nur eine.
    Liegt das am Server von mir oder stimmt da was im code nicht?
    weil eigentlich müsste es, wenn dann immer gehen oder?
    außerdem wird eine Mail (die 2.) immer als Spam von web erkannt.

    Ich hoffe ihr könnt mir ein paar Tipps geben, wie ich das in den Griff bekomme. (Bitte nicht mir Klassen ankommen, weil ich finde das etwas mit Kanonen auf Spatzen geschossen für diese eine Funktion.)

    hier der code:
    PHP:
    $Anhang1Ort  "../Anhang1.pdf" ;
    $Anhang1Name "Anhang1.pdf" ;
    $Anhang2Ort  "../Anhang2.pdf" ;
    $Anhang2Name "Anhang2.pdf" ;

    $Betreff  "Test1" ;
    $Von  "Name <mail@name.de>" ;
    $Nachricht  "Nachricht 1" ;
    $Bestaetigungsmail  "Nachricht 2" ;

    $boundary  strtoupper ( md5 ( uniqid ( time ())));
    $mail_header  "From: $Von \n" ;
    $mail_header  .=  "Cc:\n" ;
    $mail_header  .=  "Bcc:" ;
    $mail_header  .=  "MIME-Version: 1.0" ;
    $mail_header  .=  "\nContent-Type: multipart/mixed; boundary= $boundary " ;
    $mail_header  .=  "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format" ;
    $mail_header  .=  "\n-- $boundary " ;
    $mail_header  .=  "\nContent-type: text/html; charset=iso-8859-1" ;
    $mail_header  .=  "\nContent-Transfer-Encoding: 8bit" ;
    $mail_header  .=  "\n\n $Nachricht " ;

    $Anhang1Ort _content  fread ( fopen ( $Anhang1Ort  , "r" ), filesize ( $Anhang1Ort  ));
    $Anhang1Ort _content  chunk_split ( base64_encode ( $Anhang1Ort _content ));

    $mail_header  .=  "\n-- $boundary " ;
    $mail_header  .=  "\nContent-Type: application/pdf; name=\" $Anhang1Name \"" ;
    $mail_header  .=  "\nContent-Transfer-Encoding: base64" ;
    $mail_header  .=  "\nContent-Disposition: attachment; filename=\" $Anhang1Name \"" ;
    $mail_header  .=  "\n\n $Anhang1Ort  _content" ;
    $mail_header  .=  "\n-- $boundary " ;

    $Anhang2Ort _content  fread ( fopen ( $Anhang2Ort  , "r" ), filesize ( $Anhang2Ort  ));
    $Anhang2Ort _content  chunk_split ( base64_encode ( $Anhang2Ort _content ));

    $mail_header  .=  "\n-- $boundary " ;
    $mail_header  .=  "\nContent-Type: application/pdf; name=\" $Anhang2Name \"" ;
    $mail_header  .=  "\nContent-Transfer-Encoding: base64" ;
    $mail_header  .=  "\nContent-Disposition: attachment; filename=\" $Anhang2Name \"" ;
    $mail_header  .=  "\n\n $Anhang2Ort  _content" ;
    $mail_header  .=  "\n-- $boundary --" ;
    mail ( $eMail , $Betreff , "" , $mail_header );


    $mail_header  "From: $Von \n" ;
    $mail_header  .=  "Cc:\n" ;
    $mail_header  .=  "Bcc:" ;
    $mail_header  .=  "MIME-Version: 1.0" ;
    $mail_header  .=  "\nContent-Type: multipart/mixed; boundary= $boundary " ;
    $mail_header  .=  "\n\nThis is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format" ;
    $mail_header  .=  "\n-- $boundary " ;
    $mail_header  .=  "\nContent-type: text/html; charset=iso-8859-1" ;
    $mail_header  .=  "\nContent-Transfer-Encoding: 8bit" ;
    $mail_header  .=  "\n\n $Bestaetigungsmail " ;
    $mail_header  .=  "\n-- $boundary --" ;

    mail ( $eMail "Bestätigungsmail" , ""  $mail_header );
    Vielen Dank!
     
  2. 15. Mai 2009
    AW: Mailversand

    Habe noch nicht mit Anhängen gearbeitet, aber wieso heißt deine Variable $Anhang1Ort _content (also mit Leerzeichen)?

    Schonmal mit 2 mail-Befehlen probiert? Für jeden Versand einen.
     
  3. 15. Mai 2009
    AW: Mailversand

    zum ersten: verstehe ich auch nicht

    zum zweiten: er nutzt doch 2 mal den mail befehl?
     
  4. 16. Mai 2009
    AW: Mailversand

    zum ersten: kopierfehler. habs hier vereinfacht das ganze, dabei ist ein leerzeichen reingekommen, es ist eigentlich NICHT da.

    zum zweiten: ich hab 2 Mail-befehle drinne...
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.