Mail functie met attachement stuurt alleen attachement

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander b

sander b

07/09/2011 13:41:27
Quote Anchor link
Hallo,

Ik heb een mailscriptje op mijn website, die zowel een HTLM bericht moet verzenden en een bijlagen daarbij moet sturen.

Dat tweede werkt, ik heb al heel wat geprobeerd, maar telkens komt een lege e-mail binnen met een werkende PDF bijlage. Mijn enige pogingen zijn wel alleen vanaf de localhost geprobeerd, kan dat het probleem zijn?

Ik hoop dat iemand mij kan helpen hiermee. De code die ik gebruik:

EDIT Ik heb het opgelost. Noujah, ik heb de volgende code van php.net geplukt en een beetje aangepast. Werkt prima :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
function multi_attach_mail($to, $files, $sendermail){
    // email fields: to, from, subject, and so on
    $from = "Files attach <".$sendermail.">";
    $subject = date("d.M H:i")." F=".count($files);
    $message = date("Y.m.d H:i:s")."\n".count($files)." attachments";
    $headers = "From: $from";
 
    // boundary
    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
 
    // headers for attachment
    $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
 
    // multipart boundary
    $message = "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
    "Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n";
 
    // preparing attachments
    for($i=0;$i<count($files);$i++){
        if(is_file($files[$i])){
            $message .= "--{$mime_boundary}\n";
            $fp =    @fopen($files[$i],"rb");
        $data =    @fread($fp,filesize($files[$i]));
                    @
fclose($fp);
            $data = chunk_split(base64_encode($data));
            $message .= "Content-Type: application/octet-stream; name=\"".basename($files[$i])."\"\n" .
            "Content-Description: ".basename($files[$i])."\n" .
            "Content-Disposition: attachment;\n" . " filename=\"".basename($files[$i])."\"; size=".filesize($files[$i]).";\n" .
            "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
            }
        }

    $message .= "--{$mime_boundary}--";
    $returnpath = "-f" . $sendermail;
    $ok = @mail($to, $subject, $message, $headers, $returnpath);
    if($ok){ return $i; } else { return 0; }
    }

?>
Gewijzigd op 07/09/2011 16:43:57 door Sander b
 
PHP hulp

PHP hulp

19/04/2024 06:01:50
 
Sebastiaan Blaas

Sebastiaan Blaas

16/09/2011 00:06:47
Quote Anchor link
wrom niet een standaard lib gebruiken als bijvoorbeeld phpmailer?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.