Toon posts:

Attachment in PHP meesturen

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
<?php

mail("info@emailadres.nl", "Test e-mail", "Dit is een test...", 
"From: Website <website@testweb.nl>\n
Content-Type: application/pdf; name=/path/file.pdf\n
Content-Transfer-Encoding: base64\n
Content-Disposition: attachment; filename=file.pdf");

?>

Ik krijg het niet voor mekaar om deze pdf file door php te laten versturen. Het bericht wordt wel netjes verstuurd, ook komt deze aan MET attachment, maar deze is slechts 75b en bevat een paar 'rare'-tekens, maar geen pdf.. :(

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

euhm, waar hang je de pdf aan de e-mail dan? Je geeft wel aan dat er een attachment IS, maar je verstuurt 'em niet. Dat gaat echt niet automagisch hoor :P

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Op zaterdag 08 juni 2002 00:41 schreef Rudi_AKA_TheHunter het volgende:
<?php

mail("info@emailadres.nl", "Test e-mail", "Dit is een test...",
"From: Website <website@testweb.nl>\n
Content-Type: application/pdf; name=/path/file.pdf\n
Content-Transfer-Encoding: base64\n
Content-Disposition: attachment; filename=file.pdf");

?>

Ik krijg het niet voor mekaar om deze pdf file door php te laten versturen. Het bericht wordt wel netjes verstuurd, ook komt deze aan MET attachment, maar deze is slechts 75b en bevat een paar 'rare'-tekens, maar geen pdf.. :(
Op zaterdag 08 juni 2002 11:20 schreef Gerco het volgende:
euhm, waar hang je de pdf aan de e-mail dan? Je geeft wel aan dat er een attachment IS, maar je verstuurt 'em niet. Dat gaat echt niet automagisch hoor :P
Wat is dat en dat dan :? lijkt er wel op?

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 02-09 19:44

Gerco

Professional Newbie

Op zaterdag 08 juni 2002 11:23 schreef zmn het volgende:
Wat is dat en dat dan :? lijkt er wel op?
Dat zijn extra headers die je bij de mail hangt om aan te geven dat er een attachment is?

Voor vover ik weet gaat mail() echt niet automagisch die file lezen en versturen. Voor meer info zie: http://www.php.net/mail

En hier staat een artikel wat uitlegt hoe je attachments met je mail moet meesturen.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09-2025
Op zaterdag 08 juni 2002 11:28 schreef Gerco het volgende:

[..]

Dat zijn extra headers die je bij de mail hangt om aan te geven dat er een attachment is?

Voor vover ik weet gaat mail() echt niet automagisch die file lezen en versturen. Voor meer info zie: http://www.php.net/mail
Joh ik dacht ik zie filenames staan dus laat ik eens slim proberen te zijn :P Maar het lukt toch niet :(

Verwijderd

Kijk hier maar eens naar... :)
Succes!

Verwijderd

wat jij in je headers hebt staan zijn de mime-headers die aangeven dat er een attachment bij zit. Bovendien zijn ze niet compleet, er moet ook nog een boundary en de top headers (MIME-type = enz.).
De headers geven dus aan dat er een attachment komt, maar daaronder moet de attachment ook echt staan. Wat daar staat is eigenlijk gewoon de inhoud van het bestand alsof je die zou openen met notepad, maar dan met base64_encode() gecodeerd... (kan je weer decoderen met base64_decode() als ik het zo uit m'n hoofd zeg...).
hier en hier staat meer info over mime

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Ben ook pas bezig geweest met een scriptje om een attachement te kunnen versturen.

Denk dat je hier wel wat aan hebt.
PHP:
1
<?    // Open de attachement    $fp = fopen($attachement, 'r');    if (!$fp) {           echo "Could not open attachment for reading...<br>";           exit;    }         $file_content = fread($fp, filesize($attachement));     // De attachement moet gecodeerd worden om gemaild te kunnen worden    $file_content = chunk_split(base64_encode($file_content));         // Stel de mail headers in (message body en attachement body) volgens    // de MIME specificaties        $header .= "From: Sollicitatie formulier <hpsolutions@datascan.nl>\n";    $header .= "To: $recipient\n";    $header .= "Subject: $subject\n";    $header .= "MIME-Version: 1.0\n";    $header .= "Content-Type: multipart/mixed;\n";    $header .= "\tboundary=\"XX-1234DED00099A\"\n";     $header .= "Content-Transfer-Encoding: 7bit\n\n";     $header .= "This is a multi-part message in MIME format.\n\n";     $header .= "--XX-1234DED00099A\n";    $header .= "Content-Type: text/plain; charset=us-ascii\n";    $header .= "Content-Transfer-Encoding: 7bit\n\n";     $header .= "$message\n";    $header .= "--XX-1234DED00099A\n";    $header .= "Content-Type: application/octet-stream; \n";    $header .= "\tname=\"$cvfile_name\"\n";    $header .= "Content-Transfer-Encoding: base64\n";     $header .= "Content-Description: $cvfile_name\n\n";     $header .= $file_content;     $header .= "--XX-1234DED00099A--";        // Verstuur de mail    mail('', '', '', $header);?>

edit:

Aan de hand van dit PHPBuilder artikel heb ik mijn scriptje kunnen schrijven

It’s nice to be important but it’s more important to be nice

Pagina: 1