Jeg har følgende mailskript som modtager info fra database og fra
html fil.
Mit problem er at den standard hilsen jeg har indsat i beskeden
ikke vises, når jeg sender en mail med vedhæftet fil. Der er
ingen problemer når jeg sender en mail uden vedhæftet fil.
Mange venlige hilsener
jimmy Adetunji
KODE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"DTD/xhtml1-strict.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<meta http-equiv="content-type"
content="text/html;charset=iso-8859-1" />
<title>Get mail array</title>
</head>
<body><?
$titel = $_POST["titel"];
$message = $_POST["message"];
$find = array ("<p>");
$replace = ("<p style=\"margin:0px; padding:0px;\">");
$message =
str_replace($find,$replace,$message);//$_POST["message"
$db_name="webmojo_dk";
$table_name="email";
$connection=mysql_connect("localhost", "webmojo_dk", "EjAG6spY")
or die ("lort.");
$db=mysql_select_db($db_name)
or die ();
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "customor-smtp.one.com";
$smtpinfo["port"] = "2525";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "mail@webmojo.dk";
$smtpinfo["password"] = "1blaahat";
/* Create the mail object using the Mail::factory method */
// To send HTML mail, the Content-type header must be set
//$headers = 'MIME-Version: 1.0' . "\r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' .
"\r\n";
//$headers .='Accept-Language: da' . "\r\n";
$headers .='from:mail@webmojo.dk' . "\r\n";
// KODE FOR AT KUNNE INDDRAGE DEN VEDHHÆFTEDE FIL
// Obtain file upload variables
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];
$FILE_EXTS =
array('.zip','.doc','.pdf','.txt','.rar','.docx');
$file_name = $_FILES['fileatt']['name'];
$file_ext =
strtolower(substr($file_name,strrpos($file_name,".")));
if (!in_array($file_ext, $FILE_EXTS)){
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' .
"\r\n";
$headers .='Accept-Language: da' . "\r\n";
$headers .='from:mail@webmojo.dk' . "\r\n";
//exit("The file which was uploaded was not a valid file type.");
//echo "The file which was uploaded was not a valid file type.";
}
// if($_FILES['fileatt']['size'] > 0)
if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary =
"==Multipart_Boundary_x{$semi_rand}x";
// Add the headers for a file attachment
$headers .= "MIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
// Add a multipart boundary above the message
$message = "This is a multi-part message in MIME
format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
// Base64 encode the file data
$data = chunk_split(base64_encode($data));
// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}else echo "Fil sendt uden vedhæftning";
// In case any of our lines are larger than 70 characters, we
should use wordwrap()
//$message = wordwrap($message, 70);
$sql="SELECT * FROM $table_name";
$result = mysql_query($sql, $connection) or die ();
//det her er bare for at kunne lave linieskift fra modtagers navn
til selve mailindhold
echo "<b><center>Dit nyhedsbrev er afsendt
til:"."</b></center>"."<br /><br />";
while ($row = mysql_fetch_array($result))
{
$headline ="kære forældre til<br>";
$recipient = "$row[navn]<br><br>";
//$recipient .="$row[efternavn]<br><br>\n";
mail("$row[email],$row[email2]", "$titel"," $headline $recipient
$message", $headers);
?>
<table border="2" width="80%">
<tr>
<td width="25%"><? echo "$row[navn]"." ";
echo "$row[efternavn]".": ";
?>
<!-- indsæt lige en række ovenfor der fortæller hvad der står
nedenfor -->
</td>
<td width="25%"><? echo "$row[email]";?></td>
<td width="25%"><? echo "$row[email2]";?></td>
<td width="25%"><? echo "$row[klasse]";?>
</td>
</tr>
</table>
<?
}
?>
</body>
</html>
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials