Probs mit mail() und Webspace

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probs mit mail() und Webspace

    Howdie Folks,
    Ich soll für jemanden ein Script installieren, das Dateien vom Webspace als Mailanhang verschickt. Das funktioniert auf meinem Webspace und localhost (PHP > 4.2) einwandfrei, nur leider nicht da wo es soll (PHP 4.0.6).
    Hier mal die Info: PHP-Info des Servers
    Lasse ich mir von dort eine Datei schicken, wird bei meinen Mailprogrammmen(StarMail, Postme) alles korrekt angezeigt. Bei Outlook kommt angeblich nix (hab´ ich leider oder Gott sei dank nicht installiert), bei Webmail von t-online erscheint der Absender und folgende Botschaft:
    Die eMail enthält keine Textteile. Für die Anzeige von HTML-Inhalten wählen Sie bitte in den Einstellungen 'HTML-Anhänge direkt anzeigen'
    Da ist es egal ob ich HTML aktiviere oder nicht, die Botschaft bleibt die gleiche.
    Ich vermute das hat irgendwas mit den Boundaries zu tun, habe aber schon verschiedenes ausprobiert und krieg es einfach nicht gebacken.
    Hier ist mal das Skript, Ihr könnt es aber auch auf dem Webspace testen und euch das komplette Skript (4 kB) zuschicken lassen. Kuckst Du hier!

    Ich bin froh über alle Tips, da ich langsam keine Haare zum Raufen mehr habe
    Schonmal Danke für alles was hilfetechnisch von euch rüberkommt.

    So long,
    Cowboy
    PHP-Code:
    <?php

    require("./config_inc.php");

    if(!empty(
    $HTTP_POST_VARS["vorname"]) && !empty($HTTP_POST_VARS["name"]) && preg_match("/[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})/",$HTTP_POST_VARS["email"]) && !empty($HTTP_POST_VARS["datei"])) {

    $ip $_SERVER["REMOTE_ADDR"];
    $bo strtoupper(md5(uniqid(time())));

    /********************/

    while(list($key,$val) = each($HTTP_POST_VARS['datei'])) {

        
    $body_2 .= "\r\n\r\n" . ($key 1) . ". Anhang: " $val;
        
    $body_2 .= "\r\nDateigröße: " number_format((filesize($ordner $val) / 1024),2,",",".") . " KB";

        
    $ex array_pop(preg_split("/[.]/",basename($val)));
        
    $ct = array();

        require(
    "./content_type.php");

        
    $fp fopen($ordner $val,$ct[0]);
        
    $anhang fread($fp,filesize($ordner $val));
        
    fclose($fp);

        
    $anhang chunk_split(base64_encode($anhang));

        
    $dat .= "\r\n------=_NextPart_" $bo;
        
    $dat .= "\r\nContent-Type: " $ct[1] . ";";
        
    $dat .= "\r\n      name=\"" $val "\"";
        
    $dat .= "\r\nContent-Transfer-Encoding: " $ct[2];
        
    $dat .= "\r\nContent-Disposition: attachment;";
        
    $dat .= "\r\n      filename=\"" $val "\"\r\n\r\n";
        
    $dat .= $anhang;

    }

    /********************/

    $head  "From: \"" $abs_name "\" <" $abs_email ">";
    $head .= "\r\nMIME-Version: 1.0";
    $head .= "\r\nContent-Type: multipart/mixed;";
    $head .= "\r\n      boundary=\"----=_NextPart_" $bo "\";";
    $head .= "\r\nX-Mailer: PHP/" phpversion();
    $head .= "\r\nX-Sender-IP: " $ip;

    $body_1  "\r\n\r\nHallo " $HTTP_POST_VARS["vorname"] . " " .  $HTTP_POST_VARS["name"] . ",\r\n";
    $body_3  "\r\n\r\n\r\nGruß";
    $body_3 .= "\r\n" $abs_name;

    $inha  "This is a multi-part message in MIME format.";
    $inha .= "\r\n\r\n------=_NextPart_" $bo;
    $inha .= "\r\nContent-Type: text/plain;";
    $inha .= "\r\n      charset=\"iso-8859-1\"";
    $inha .= "\r\nContent-Transfer-Encoding: quoted-printable";
    $inha .= imap_8bit($body_1 $body_2 $body_3) . "\r\n";
    $inha .= $dat;
    $inha .= "\r\n------=_NextPart_" $bo "--";

    /********************/

    mail($HTTP_POST_VARS["email"],"Ihre Datei(en)",$inha,$head);

    header("Location: " $seit_end);
    exit;

    } else {

    echo <<<code
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="Content-Language" content="de">
    <title>E-Mail mit Anhang</title>

    <link rel="stylesheet" href="./email_anhang.css" type="text/css">

    </head>
    <body>

    <table align="center" border="0" cellspacing="5" cellpadding="3">
      <form name="formular" action="
    {$PHP_SELF}" method="post">
      <tr>
        <td>Vorname:</td>
        <td><input name="vorname" type="text" size="15" value="
    {$HTTP_POST_VARS["vorname"]}"></td>
        <td>Name:</td>
        <td><input name="name" type="text" size="15" value="
    {$HTTP_POST_VARS["name"]}"></td>
      </tr>
      <tr>
        <td>E-Mail:</td>
        <td colspan="3"><input class="inp" name="email" type="text" size="30" value="
    {$HTTP_POST_VARS["email"]}"></td>
      </tr>
      <tr>
        <td class="wich" colspan="4">Bitte w&auml;hlen Sie die Datei(en) aus!</td>
      </tr>
      <tr>
        <td colspan="4"><select class="inp" name="datei[]" size="5" multiple>

    code;

    /********************/

    $folder opendir($ordner);

    while(
    $_file readdir($folder)) {

        if(!
    is_dir($ordner $_file) && $_file != "." && $_file != ".." && $_file != ".htaccess" && $_file != ".htpasswd") {
            echo 
    "      <option value=\"" $_file "\">" $_file "</option>\r\n";
        }
    }

    closedir($geheim);

    /********************/

    echo <<<code
        </select></td>
      </tr>
      <tr align="center">
        <td colspan="4"><input type="Submit" value="Schick mir das!"></td>
      </tr>
      </form>
    </table>

    </body>
    </html>
    code;

    }

    ?>
    Zuletzt geändert von cowboy; 18.05.2003, 15:48.

  • #2
    kann es sein, dass da einfach jemand die HTML-Mail ausgeschaltet hat???

    wenn du sachen von deinem webspace verschickst, klappt es? von seinem aber nicht?

    BTW: Ist schon schlecht, wenn man sachen nicht testen kann...

    Kommentar


    • #3
      Hi TobiaZ,
      tut mir leid, ich hab bei diesem Mega-Posting doch glatt vergessen den Link zum Testen einzufügen.
      Hier kann man Testen

      Man kann sich das Skript auch als Anhang schicken lassen, sofern es funktioniert.

      Kommentar


      • #4
        Outlook Express 5: OK!

        Kommentar


        • #5
          Hi TobiaZ,
          dann scheint Outlook doch zu gehen, zumindest Express. Web.de habe ich getestet, das geht auch.
          Leider geht es bei t-online nicht, zumindest beim Webmailer. Ein anderer Webmailer, bei meinem Provider macht auch Probleme.
          Ich kann es mir nur so erklären, daß die Boundaries falsch interpretiert werden, finde aber die Ursache nicht.

          Kommentar


          • #6
            mit outlook von office XP gehts auch

            mfg

            Kommentar


            • #7
              Hi,
              hat denn keiner ne Idee wie man dem Prob beikommen kann, oder kann es zumindest nachvollziehen?
              Ich hab das Skript nochmal bei nem Bekannten hochgeladen um es dort zu testen (PHP >4.2), da geht es auch einwandfrei mit t-online-webmail.
              Nur auf dem Server mit PHP 4.0.6 hauts nicht hin.

              Kommentar


              • #8
                evtl. ein php bug

                php updaten :|

                Kommentar


                • #9
                  Liebend gern würde ich PHP updaten, aber bei so´nem Billig-Hoster ist das scheinbar nicht so oft üblich. die legen halt auch keinen Wert darauf. Das ist nicht mein Webspace, und der Besitzer will nicht wechseln. Jetzt kann ich mich mit dem Mist rumärgern, weil das skript nicht geht. Alles Sch****!

                  Kommentar


                  • #10
                    für geld programmiert?
                    weil sonst würd ich klipp und klar sagen das das nich geht :|muss ja an dem hoster liegen :|

                    Kommentar


                    • #11
                      Ich hoffe schon, daß ich ein paar Kröten dafür kriege. Das eigentliche Prog is viel umfangreicher und hat noch ein paar nette Features. Nachdem die Sache bei mir lief, habe ich gesagt okay, es läuft. Einen Vorschuß kassiert und die Sache auf dem Server installiert. Seitdem macht die ganze Sache richtig Spaß...
                      Nur, wie bringste so nen Kunden dazu, zu einem Provider zu wechseln, der mehr wie einen Euro im Monat kostet. Ich find das absolut lächerlich, daß sich ne Firma sowas bieten läßt. Ich meine, zahlste nur nen euro, kriegste im normalfall auch nur leistung für nen euro, auch wenn sich auf´m Papier imer schön ließt (PHP4, MySql usw.) Spätestens beim Support merkste woran Du bist.
                      Ärgerlich ist, daß ich schon ewig viel Zeit in das Projekt gesteck habe, die ich in dem Umfang eh nicht bezahlt kriege, aber wegen so´nem elendigen Provider bald reif für die Klapse bin.
                      *Seufz*

                      Kommentar


                      • #12
                        dann bleibt dir wohl nichts anderes übrig ...

                        Setz dir nen zweiten Apache auf, zB auf Port 81.
                        Da dann ein PHP 4.0.6,
                        und mit dem Debugger einmal durch Script durch.

                        Dann dürftest du wissen warum es nicht geht
                        TBT

                        Die zwei wichtigsten Regeln für eine berufliche Karriere:
                        1. Verrate niemals alles was du weißt!


                        PHP 2 AllPatrizier II Browsergame

                        Kommentar


                        • #13
                          www.isp4net.de
                          kleinste paket kostet nicht viel und is alles drin wasde brauchst

                          http://www.isp4net.de/info.php <--phpinfo()

                          mfg

                          Kommentar

                          Lädt...
                          X