Avatar billede d.kryger Praktikant
06. januar 2005 - 12:21 Der er 11 kommentarer og
1 løsning

Vedhæft fil i e-mail

Hej Eksperter.

Jeg vil gerne have vedhæftet en fil som ligger på mit webhotel sendt med når jeg sender e-mails med denne funktion:
$message = "Tekst.\n";
$message = $message."Tekst nr. 2\n";

$header = "From: --**--<--**-->\r\nReply-To: --**--\r\nReturn-Path: --**--";
mail("--**--", "Emne", $message, $header);

Hvordan gør man det?
Avatar billede coderdk Praktikant
06. januar 2005 - 15:24 #1
Jeg har lavet en lille klasse:

  http://example.coder.dk/wsMailer.phps

Og et lille eksempel:

<?php

    require_once( "wsMailer.php" );

    $mail = new wsMailer;
    $mail->from( "you@example.com", "wsMailer!" );
    $mail->to( "person@example.com", "Some name" );
    $mail->subject( "Dette er en testmail!" );
    $mail->attach( "folder/test.jpg" );
    $mail->attach( "dokument.pdf", "application/pdf" );
    $mail->htmlmail( "<h1>Hej med dig!</h1>\nDette er en mail! æøå! hahaha!" );
    $mail->send();
   
?>
Avatar billede d.kryger Praktikant
06. januar 2005 - 15:29 #2
Vil det så sige at jeg bare skal kopierer dette over i min kode?
$mail->attach( "folder/test.jpg" );
$mail->attach( "dokument.pdf", "application/pdf" );

Eller skal jeg bruge hele din kode?
Avatar billede coderdk Praktikant
06. januar 2005 - 15:43 #3
Du skal bruge hele min kode, og gemme wsMailer.phps som wsMailer.php ;) - Du kan se i wsMailer.phps hvordan det er gjort ;)
Avatar billede d.kryger Praktikant
06. januar 2005 - 16:18 #4
OK, jeg venter lige til i morgen med at kigge på det...
Kan det ikke lade sig gøre med noget i mail() funktionen?
Avatar billede d.kryger Praktikant
10. januar 2005 - 12:24 #5
Hej Coderdk,
nu har jeg prøvet at lave en lille test... Men den kommer med en fejl i wsMailer.php: Parse error: parse error, unexpected ')' in wsMailer.php on line 207

Jeg har fjernet )'en , og så sender den også en mail til mig, men der er kun vedhæftet en txt-fil der hedder: ATT00218...
Og det var en jpg og pdf fil jeg har vedhæftet...

Hvad går der galt?
Avatar billede coderdk Praktikant
10. januar 2005 - 12:31 #6
Ja, der var vist lige et ) for meget, underligt at jeg ikke har fanget den ;)
Jeg har lige testet selv, med en HTML-mail og et enkelt vedhæftet billede - Det virkede fint hos mig... Kan vi se din kode?
Avatar billede d.kryger Praktikant
10. januar 2005 - 12:35 #7
<?php

require_once( "wsMailer.php" );

$mail = new wsMailer;
$mail->from( "--**--", "--**--" );
$mail->to( "--**--", "--**--" );
$mail->subject( "Dette er en testmail!" );
$mail->attach( "blue.jpg" );
$mail->attach( "fax-forside.pdf", "application/pdf" );
$mail->htmlmail( "<h1>Hej med dig!</h1>\nDette er en mail! æøå! hahaha!" );
$mail->send();

print "Sendt";

?>
Avatar billede coderdk Praktikant
10. januar 2005 - 12:49 #8
Hmmm det virker hos mig i thunderbird - Men jeg har lige prøvet at loade beskeden i outlook express, og der opfører den sig som du skriver - Jeg vil lige kigge på det senere!
Avatar billede coderdk Praktikant
10. januar 2005 - 13:07 #9
Ah, ja, linje 239 ændres fra:

                    $headers .= "--$altSplitter\r\n";

til:

                    $headers .= "--$altSplitter--\r\n";

Så burde det virke :)
Avatar billede d.kryger Praktikant
10. januar 2005 - 14:33 #10
Så virker det...
Avatar billede d.kryger Praktikant
11. januar 2005 - 08:39 #11
Ja, du må meget undskylde men jeg troede at det virkede som jeg gerne ville have det, men når jeg sender til nogle e-mail adresser, så bliver der ikke vedhæftet noget, samtidig med at der står en masse kode i e-mail'en.

Jeg har fundet ud af at det nok er fordi at mailserveren som modtager til har sat noget op der hedder "Reverse DNS"... Kan man gøre noget ved det?

Dette står i e-mail'en:
From: --**-- <--**-->
X-Mailer: wsMailer for PHP v1.0
Content-Type: multipart/mixed;
boundary="--=_wsMail.Msplit0001"


This is a multi-part message in MIME format.
----=_wsMail.Msplit0001
Content-Type: multipart/alternative;
boundary="--=_wsMail.Asplit0001"

----=_wsMail.Asplit0001
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hej med dig!
Dette er en mail! æøå! hahaha!

----=_wsMail.Asplit0001
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<h1>Hej med dig!</h1>
Dette er en mail! æøå! hahaha!

----=_wsMail.Asplit0001--

----=_wsMail.Msplit0001
Content-Type: application/octet-stream
name="333605.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="333605.jpg"
Avatar billede coderdk Praktikant
11. januar 2005 - 17:24 #12
Det lyder som om du ikke kan gøre så meget ved det - Hvis du går herind: http://www.myip.dk/ - står der så et domænenavn under din IP?
Jeg tror nu ikke det har noget med min klasse at gøre...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester