ik heb een probleempje met mijn mailservice. Ik wil nu een bijlage toevoegen aan mijn mailformulier. maar hij geeft de melding dat het bestand dat ik wil toevoegen niet bestaat. Terwijl hij wel de goed path geeft bij de foutmelding. alleen dan met \\ ipv \. Dus
c:\\document\\Friko\\
misschien dat dat het probleem is??? als dat zo is...hoe krijg ik dat weg?
ik heb de volgende code:
<?PHP
if (isset($_POST['verzenden'])) {
$email_boundary = md5(uniqid(rand()) . microtime());
$inline_boundary = md5(uniqid(rand()) . microtime());
function attachment($file,$email_boundary) {
if(is_file($file)) {
$attachment_header = "--".$email_boundary."\n" ;
$attachment_header .= "Content-Type: application/octet-stream;\n name=\"$file\"\n";
$attachment_header .= "Content-Transfer-Encoding: base64\n";
$attachment_header .= "Content-Disposition: attachment;\n filename=\"$file\"\n\n";
$fo = fopen($file,"rb");
$file['inhoud'] = fread($fo,filesize($file));
fclose($fo);
$file['inhoud'] = rtrim(chunk_split(base64_encode($file['inhoud']),76,"\r\n"));
return $attachment_header.$file['inhoud']."\n";
}
else {
echo "Het bestand ".$file." bestaat niet!!.\n";
}
}
#WELKE CATEGORIEËN?
$catstring = '';
foreach($_POST["cats"] as $cat)
{
if ($catstring) $catstring .= ' OR ';
$catstring .= "mcid='$cat'";
}
#CONTROLEER DE CATEGORIEËN IN DE TABEL mail_cat
#$catresult = mysql_query("SELECT * FROM mail_cat WHERE mcid='".$_POST["cats"]."'") or mysql_error();
$catresult = mysql_query("SELECT * FROM mail_cat WHERE $catstring") or mysql_error();
#$geef = mysql_fetch_assoc($catresult);
$catstring = '';
while($geef = mysql_fetch_assoc($catresult)){
if ($catstring) $catstring .= ' OR ';
$catstring .= "mcid='".$geef['mcid']."'";
}
#CONTROLEER WIE ER HIERVOOR GEABONNEERD ZIJN
#$emid = mysql_query("SELECT * FROM Koppel_mcat_em WHERE mcid ='".$geef['mcid']."'") or mysql_error();
$emid = mysql_query("SELECT DISTINCT emid FROM Koppel_mcat_em WHERE $catstring") or mysql_error();
#VERSTUUR ELK EEN EMAIL
while($mailid = mysql_fetch_assoc($emid)) {
$select = mysql_query("SELECT * FROM email WHERE emid ='".$mailid['emid']."'") or mysql_error();
$emails = mysql_fetch_assoc($select);
if (!$emails['email']) continue; // Er staan lege combinaties in koppel_mcat_em !
#START EMAILBERICHT
$email = urldecode($emails['email']); //decoderen emailadressen
$mto = '[email protected]'; //Reply to
$from = 'Houstand'; //From
$msubj = "".$_POST['title'].""; //Titel van het bericht
$body_form_email= "".$_POST['bericht'].""; //bericht
$bericht = nl2br($body_form_email); //dit zorgt er voor dat het bericht verzonden
//wordt zoals het getypt wordt. incl. enters
#HEADERS
$headers = "From: ".$from." <".$mto.">\r\n"; //gegevens worden opgehaald
$headers .= "Reply-To: ".$from." <".$mto.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$email_boundary\"\n\n";
$headers .= "--$email_boundary\n";
$headers .= attachment($file);
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n"; //dit zorgt er voor dat de HTML te
//zien is in het mailtje
#TEMPLATE
mail($email, $msubj, "<html>
<head><base href=\"http://www.houstand.nl/\"><LINK REL=STYLESHEET TYPE=\"text/css\" HREF=\"peter.css\">
<title>Hou Stand mail</title>
</head>
<body class=\"main\">
<table width=\"590\" bgcolor=\"#800000\" cellpadding=\"1\" cellspacing=\"0\">
<tr>
<td><table class=\"main\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td bgcolor=\"#EFEFEF\" colspan=\"3\"><div align=\"center\"><br><img src=\"http://www.houstand.nl/HouStandNieuws.gif\"><br><br></div></td>
</tr>
<tr>
<td colspan=\"3\">
<table class=\"main\" bgcolor=\"white\" cellpadding=\"5\" cellspacing=\"0\">
<tr>
<td width=\"45\" bgcolor=\"#EFEFEF\" valign=\"bottom\"><img src=\"http://www.houstand.nl/lustrum_1.gif\"></td>
<td width=\"500\">".$bericht."</td>
<td width=\"45\" valign=\"top\" bgcolor=\"#EFEFEF\"><img src=\"http://www.houstand.nl/lustrum_2.gif\"></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>",$headers);
} // end while
// Log datum en subject in mailing.inc
$al = '';
$i = 0;
if (file_exists('mailing.inc')) {
// Lees de laatste 4 mailings
$fp = fopen( 'mailing.inc', "r" );
if ($fp) {
while(!feof($fp)) {
$line = fgets($fp, 128);
if (trim($line) != '') $al .= $line;
if (++$i > 4) break;
}
fclose($fp);
}
}
// Log nieuwe mailing vooraan
$fp = fopen( 'mailing.inc', "w" );
if ($fp) {
fputs( $fp, date("j-m-Y") . " $msubj" . "\n" . $al);
fclose( $fp );
}
echo '<META HTTP-EQUIV="refresh" content="1;URL=' . $main . '">';
echo '<strong>De mail is verstuurd</strong>, u wordt automatisch doorgeschakeld, moment geduld a.u.b.';
} // end if
else
{
//als nog niet op verzenden is gedrukt, formulier weergeven
?>
<fieldset>
<legend><h2>Mail verzenden</h2></legend>
<br>
<br>
<table width="70%" bordercolor="#C0C0C0" style="border-collapse: collapse">
<tr>
<td width="45%">
<td>
<form method="post" action="">
<table width="70%" class="Lmenu" border="0" cellpadding="2" cellspacing="0">
<tr bgcolor="EFEFEF">
<td width="10%" valign="top">Catagorie:</td>
<td width="60%"><SELECT MULTIPLE name="cats[]" SIZE="8">
<?
//de catagoriën van de mailservice
$catresult = mysql_query("SELECT * FROM mail_cat ORDER BY catnaam") or mysql_error();
while($geef = mysql_fetch_assoc($catresult)){
echo "
<option value='".$geef['mcid']."'>".$geef['catnaam']."<br></option>
";
}
?>
</SELECT></td>
</tr>
<tr bgcolor="FFFFFF">
<td width="10%" valign="top">Onderwerp:</td>
<td width="60%"><input type="text" name="title" id="inputtitle" size="54" maxlength="60"></td>
</tr>
</tr>
<tr bgcolor="FFFFFF">
<td width="10%" valign="top">Bijlage:</td>
<td width="60%"><input name="file" type="file"/></td>
</tr>
<tr bgcolor="FFFFFF">
<td width="10%" valign="top">Bericht:</td>
<td width="60%"><textarea name="bericht" id="bericht" cols="40" rows="10"></textarea></td>
</tr>
<tr bgcolor="EFEFEF">
<td width="10%"></td>
<td width="60%"><input type="submit" name="verzenden" value="Verzenden"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</fieldset>
Ziet iemand het probleem?
bedankt alvast