Gouden tip leverd je 10 euro op!
Hi,
Wil graag in de emailbevestiging een emailbijlage, de email word nu wel verstuurd alleen de bijlage ontbreekt en de mail is helemaal leeg.
Iemand die kan zien wat er fout is?PHP Code:
<?php
$bijlage = "map/bestand.pdf";
// Bestandsnaam uit $bijlage halen
$patharray = explode ("/", $bijlage);
$bijlagenaam = $patharray[count($patharray)-1];
// Bound aanmaken voor straks
DEFINE('bound',md5(uniqid(time())));
// Bijlage openen
$open_bijlage = fopen($bijlage,'rb');
$inhoud_bijlage = fread($open_bijlage,filesize($bijlage));
fclose($open_bijlage);
$encoded = chunk_split(base64_encode($inhoud_bijlage));
//--End of workaround
###-------database-instellingen-------###
$host = "localhost"; // host ( meestal localhost )
$gebruiker = ""; // Mysql gebruikersnaam
$pass = ""; // Mysql Paswoord
$database = ""; // naam van de database
###-------Mail-instellingen-----------###
$mijnnaam = "Richard | Mailer"; //vul hier je naam in
$mail = "true"; //typ false om mailen wanneer er iemand aanmeldt uit te schakelen
$mijnmail = "richard@mail.nl"; //plaats hier jouw e-mail adres
// Bericht mee versturen
$body .= "Content-Type: text/html; \n\t charset=\"iso-8859-1\"\n";
$body .= "Content-Transfer-Encoding: base64\n\n";
$body .= chunk_split(base64_encode($bericht))."\n\n";
$submit_subject = "Richard | Mailer | Download"; //onderwerp van het bericht als iemand aanmeldt
$delete_subject = "Richard | Mailer | Afmeld"; //onderwerp van het bericht als iemand afmeldt
// Bijlage meeversturen
$submit_bericht .= "
This is a multi-part message in MIME format.
--".bound."
Content-Type: application/octet-stream; \n\t name=\"$bijlagenaam\"
Content-Transfer-Encoding: base64 \n\r
Content-Disposition: attachment;
$encoded
--".bound."
";
$submit_bericht = "bericht wat verstuurd wordt als iemand aangemeld wordt"; //bericht wat verstuurd wordt als iemand aangemeld wordt
$delete_bericht = ""; //bericht wat verstuurd wordt als iemand afgemeld wordt
###---- afblijven----######
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; \n\t boundary=\"".bound."\"\n";
$headers .= "Reply-To: <".$mijnmail.">\r\n";
$headers .= "From: ".$mijnnaam." <".$mijnmail.">\r\n";
###------------------######
?>
- probleempje emailbijlage versturen Gouden tip €10,-!!
-
10-10-2007, 08:51 #1
- Berichten
- 111
- Lid sinds
- 18 Jaar
probleempje emailbijlage versturen Gouden tip €10,-!!
Laatst aangepast door richard d : 10-10-2007 om 13:07
-
-
10-10-2007, 10:39 #2
- Berichten
- 111
- Lid sinds
- 18 Jaar
Heb 1 foutje zelf gevonden,
PHP Code:$body .= chunk_split(base64_encode($bericht))."\n\n";
PHP Code:$body .= chunk_split(base64_encode($submit_bericht))."\n\n";
Laatst aangepast door richard d : 10-10-2007 om 13:06
-
10-10-2007, 12:56 #3
- Berichten
- 111
- Lid sinds
- 18 Jaar
Diegene die mij de beslissende tip geeft, krijgt 10 euro op zijn bankrekening.
Ik wil het graag vandaag afronden, vanavond moet die er gewoon op staan. Wie o Wie...
-
10-10-2007, 16:54 #4
- Berichten
- 4
- Lid sinds
- 17 Jaar
Hoi!
'k Heb je script even wat aangepast en de volgorde iets gewijzigd, maar zo werkt ie:
PHP Code:<?php
###-------database-instellingen-------###
$host = "localhost"; // host ( meestal localhost )
$gebruiker = ""; // Mysql gebruikersnaam
$pass = ""; // Mysql Paswoord
$database = ""; // naam van de database
###-------Mail-instellingen-----------###
$mijnnaam = "Richard | Mailer"; //vul hier je naam in
$mail = "true"; //typ false om mailen wanneer er iemand aanmeldt uit te schakelen
$mijnmail = "richard@mail.nl"; //plaats hier jouw e-mail adres
$bijlage = "map/bestand.pdf";
$submit_subject = "Richard | Mailer | Download"; //onderwerp van het bericht als iemand aanmeldt
$delete_subject = "Richard | Mailer | Afmeld"; //onderwerp van het bericht als iemand afmeldt
$submit_bericht = "bericht wat verstuurd wordt als iemand aangemeld wordt"; //bericht wat verstuurd wordt als iemand aangemeld wordt
$delete_bericht = ""; //bericht wat verstuurd wordt als iemand afgemeld wordt
// Bestandsnaam uit $bijlage halen
$patharray = explode("/", $bijlage);
$bijlagenaam = $patharray[count($patharray)-1];
// Bound aanmaken voor straks
DEFINE('bound',"----".md5(uniqid(time())));
// Bijlage openen
$open_bijlage = fopen($bijlage,'rb');
$inhoud_bijlage = fread($open_bijlage,filesize($bijlage));
fclose($open_bijlage);
$encoded = chunk_split(base64_encode($inhoud_bijlage));
// Bericht mee versturen
$body = "This is a multi-part message in MIME format.\r\n\r\n".
"--".bound."\r\n".
"Content-Type: text/html; charset=\"iso-8859-1\"\r\n".
"Content-Disposition: inline\r\n".
"Content-Transfer-Encoding: 7bit\r\n\r\n".
$submit_bericht."\r\n\r\n".
"--".bound."\r\n";
// Bijlage meesturen
$body .= "Content-Type: application/octet-stream; name=\"".$bijlagenaam."\"\r\n".
"Content-Disposition: attachment; filename=\"".$bijlagenaam."\"\r\n".
"Content-Transfer-Encoding: base64\r\n\r\n".
$encoded.
"--".bound."--\r\n";
###---- afblijven----######
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; \n\t boundary=\"".bound."\"\n";
$headers .= "Reply-To: <".$mijnmail.">\r\n";
$headers .= "From: ".$mijnnaam." <".$mijnmail.">\r\n";
###------------------######
// Onderstaand regeltje heb ik er even ingezet om te kunnen testen of de verstuurde e-mails aankomen
mail("test@test.nl", $submit_subject, $body, $headers);
?>
-
11-10-2007, 08:12 #5
- Berichten
- 111
- Lid sinds
- 18 Jaar
Er zijn nog wat probleempjes zag ik, ik voeg hieronder de mail toe.
-
11-10-2007, 12:31 #6
- Berichten
- 111
- Lid sinds
- 18 Jaar
-----Oorspronkelijk bericht-----
Van:
Verzonden: donderdag 11 oktober 2007 9:14
Aan: richard@mail.nl
Onderwerp: Richard | Mailer | Download
Content-Type: multipart/mixed;
boundary="----07d620c3ca5231a9ccc85f7ed38af4ea"
Reply-To: richard@mail.nl
From: Richard | Mailer richard@mail.nl
This is a multi-part message in MIME format.
------07d620c3ca5231a9ccc85f7ed38af4ea
Content-Type: text/html; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
bericht wat verstuurd wordt als iemand aangemeld wordt
------07d620c3ca5231a9ccc85f7ed38af4ea
Content-Type: application/octet-stream; name="bestand.pdf"
Content-Disposition: attachment; filename="bestand.pdf"
Content-Transfer-Encoding: base64
JVBERi0xLjUNJeLjz9MNCjQgMCBvYmo8PC9IWzQzNiAxMTldL0 xpbmVhcml6ZWQgMS9FIDk1MDEw
L0wgOTg1MzUvTiAxL08gNy9UIDk4NDA5Pj4NZW5kb2JqDSAgIC AgICAgICAgICAgICAgICAgICAg
DQp4cmVmDQo0IDcNCjAwMDAwMDAwMTYgMDAwMDAgbg0KMDAwMD AwMDU1NSAwMDAwMCBuDQowMDAw
Het vreemde is, in outlook express werkt die bij mij goed.
Maar in microsoft outlook van office krijg je allemaal gekke tekens. Lijkt mij iets met de codering die niet ok is.
En in hotmail stuurd die hem wel mee, maar het bestand is 0,0 kb.
Haha maar we zijn al een stap verder he.
Groeten RichardLaatst aangepast door richard d : 11-10-2007 om 12:50
-
11-10-2007, 14:09 #7
- Berichten
- 4
- Lid sinds
- 17 Jaar
Hm, misschien een probleempje met het End Of Line (EOL) karakter op verschillende OS'en. Heb zelf geen Outlook (Express) bij de hand om te testen helaas. Ik heb getest met Gmail en Squirrelmail en dat werkt goed. 'k Heb het script wat aangepast, probeer zo eens:
PHP Code:<?php
if (!defined('PHP_EOL'))
define('PHP_EOL', strtoupper(substr(PHP_OS,0,3) == 'WIN') ? "\r\n" : "\n");
// Boundary
define('BOUND', md5(uniqid(time())));
###-------database-instellingen-------###
$host = "localhost"; // host ( meestal localhost )
$gebruiker = ""; // Mysql gebruikersnaam
$pass = ""; // Mysql Paswoord
$database = ""; // naam van de database
###-------Mail-instellingen-----------###
$mijnnaam = "Richard | Mailer"; //vul hier je naam in
$mail = "true"; //typ false om mailen wanneer er iemand aanmeldt uit te schakelen
$mijnmail = "richard@mail.nl"; //plaats hier jouw e-mail adres
$bijlage = "map/bestand.pdf";
$submit_subject = "Richard | Mailer | Download"; //onderwerp van het bericht als iemand aanmeldt
$delete_subject = "Richard | Mailer | Afmeld"; //onderwerp van het bericht als iemand afmeldt
$submit_bericht = "bericht wat verstuurd wordt als iemand aangemeld wordt"; //bericht wat verstuurd wordt als iemand aangemeld wordt
$delete_bericht = ""; //bericht wat verstuurd wordt als iemand afgemeld wordt
// Bestandsnaam uit $bijlage halen
$patharray = explode("/", $bijlage);
$bijlagenaam = $patharray[count($patharray)-1];
// Bijlage openen
$open_bijlage = fopen($bijlage,'rb');
$inhoud_bijlage = fread($open_bijlage,filesize($bijlage));
fclose($open_bijlage);
$encoded = chunk_split(base64_encode($inhoud_bijlage),64,PHP_EOL);
// Bericht mee versturen
$body = "This is a multi-part message in MIME format.".PHP_EOL.
"--".BOUND.PHP_EOL.
"Content-Type: text/html; charset=\"iso-8859-1\"".PHP_EOL.
"Content-Transfer-Encoding: 7bit".PHP_EOL.
"Content-Disposition: inline".PHP_EOL.PHP_EOL.
$submit_bericht.PHP_EOL.PHP_EOL.
"--".BOUND.PHP_EOL;
// Bijlage meesturen
$body .= "Content-Type: application/octet-stream; name=\"".$bijlagenaam."\"".PHP_EOL.
"Content-Transfer-Encoding: base64".PHP_EOL.
"Content-Disposition: attachment; filename=\"".$bijlagenaam."\"".PHP_EOL.PHP_EOL.
$encoded.
"--".BOUND."--";
###---- afblijven----######
$headers = "MIME-Version: 1.0".PHP_EOL;
$headers .= "Content-Type: multipart/mixed; boundary=\"".BOUND."\"".PHP_EOL;
$headers .= "Reply-To: <".$mijnmail.">".PHP_EOL;
$headers .= "From: ".$mijnnaam." <".$mijnmail.">";
###------------------######
echo "<pre>";
echo $headers.PHP_EOL;
echo $body;
echo "</pre>";
mail("test@test.nl", $submit_subject, $body, $headers);
?>
-
11-10-2007, 15:55 #8
- Berichten
- 111
- Lid sinds
- 18 Jaar
Ok prima dit werkt goed, bedankt voor je inzet.
Je kan me je bankgegevens sturen via een prive bericht.
Dan handelen we dit even netjes af.
Gr Richard
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic