Mail() vedhæftning, fejl ved nogle modtagere?
HejsaJeg ved ikke hvor problemet er men når der sendes en mail ved hjælp af mail(), til to email adr, begge min egne, modtager den den ene fint med vedhæftning og den anden er filen blandet ind i body, hvad sker der og kan det løses
<?php
include "top.php";
// Hvis formen er submitted
if ($_GET['send']){
$Leder = her er email adresene!
if ($_FILES['filen']['size']>75)
{
// Definér $boundary
// boundary er en unik streng der identifiserer vores email
$boundary = uniqid("");
// Hvis filtypen genkendes af browseren, sætter vi mime-typen til filtypen
if ($_FILES['filen']['type'])
{
$mimeType = $_FILES['filen']['type'];
}
// Ellers, sætter vi mime-type til ukendt
else
{
$mimeType = "application/unknown";
}
// Læs filen ind i en variable
$fil_var = fread(fopen($_FILES['filen']['tmp_name'], 'r'), filesize($_FILES['filen']['tmp_name']));
// Gør filen læsevenlig for email-klienten
$fil_var = base64_encode($fil_var);
// Split filkoden op i linier med 76 tegn i hver
$fil_var = chunk_split($fil_var);
// Følgende lille stykke klarer det meste mht. headers, der fortæller email-klienten hvad der er på vej
// Vi sætter vores unikke streng ind her
$body = "\n--$boundary\n";
// Vi fortæller at følgende stump er af typen text/plain samt
// hvilket tegnsæt vi bruger
$body .= "Content-type: text/plain; charset=iso-8859-1\n";
$body .= "Content-transfer-encoding: 8bit\n\n";
}
// Vi sætter body-texten ind her
$body .= $_POST['filen']. "\n";
$body .= $_POST['body_text']. "\n\n";
if ($_FILES['filen']['size']>75)
{
// Slut på brødteksten
$body .= "--$boundary\n";
// Så er det filens tur
// Vi fortæller lige mime-typen og filnavnet
$body .= "Content-type: $mimeType; name=".$_FILES['filen']['name']."\n";
// Fortæller at vi vil have filen hæftet ved - ikke direkte i mailen.
// Vil du gerne have den direkte i mailen, ændres 'attachment' til 'inline'
// Bemærk: Bl.a. OE viser _også_ filen i selve mailen selvom du angiver 'attachment'
$body .= "Content-disposition: attachment; filename=".$_FILES['filen']['name']."\n";
// Klienten skal have at vide at meddelelsen er encoded med base64
$body .= "Content-transfer-encoding: base64\n\n";
// Vi sætter filkoden ind
$body .= $fil_var."\n\n";
// Vi slutter af med den samme unikke streng som vi startede med
$body .= "--$boundary--";
}
// Vi definerer from-headeren
$headers = "From:" .$_POST['fra']. " <" .$_POST['email'].">\r\n";
// Vi fortæller hvilken type indhold mailen indeholder
// samt emailens unikke id-streng
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
// Hvis mailen bliver sendt afsted problemfrit
if (mail($Leder, $_POST['emne'], "$body", "$headers")) {
echo "<p><b>Mailen er afsendt</b></p>";
echo "<p><b>Følgende har modtager mailen</b></p>";
echo "$Leder";
// Hvis ikke skriver vi lige en fejlmeddelelse
} else {
echo "Der opstod en fejl, og mailen blev ikke sendt!";
}
// Hvis ikke formen er submitted, vis formen
} else {
echo "
\n";
echo "<form action='".basename($PHP_SELF)."?send=1' enctype='multipart/form-data' method='post'>\n";
echo "<table width='350' border='0' cellpadding='0'><tr><td height='213' valign='top'>\n";
echo "<fieldset style='width: 122; height: 6; padding: 3;'>\n";
echo "<legend><font size='1' face='Verdana'>Fra</font></legend>\n";
echo "<input type='text' name='fra' style='width:218px; border-style:solid; border-width:0; padding:0;'></fieldset>\n";
echo "<fieldset style='width: 122; height: 6; padding: 3;'>\n";
echo "<legend><font size='1' face='Verdana'>Afsender E-mail</font></legend>\n";
echo "<input type='text' name='email' style='width:218px; border-style:solid; border-width:0; padding:0;'></fieldset>\n";
echo "<fieldset style='width: 122; height: 6; padding: 3;'>\n";
echo "<legend><font size='1' face='Verdana'>Vedhæft fil</font></legend>\n";
echo "<input type='file' name='filen' size='30' maxlength='60' style='width:340px; border-style:solid; border-width:0; padding:0;'></fieldset>\n";
echo "<fieldset style='width: 122; height: 6; padding: 3;'>\n";
echo "<legend><font size='1' face='Verdana'>Emne</font></legend>\n";
echo "<input type='text' name='emne' style='width:218px; border-style:solid; border-width:0; padding:0;'></fieldset>\n";
echo "<fieldset style='width: 122; height: 6; padding: 3;'>\n";
echo "<legend><font size='1' face='Verdana'>Tekst</font></legend>\n";
echo "<textarea wrap='on' rows='5' cols='40' name='body_text' style='overflow:auto; border-style:solid; border-width:0; padding:0;'></textarea></fieldset>\n";
echo "<br><br><input type='submit' class='button' value='Send' name='send'>\n";
echo "<input type='reset' class='button' value=' Nulstil ' name='reset'>\n";
echo "</td></tr></table>\n</form><br>\n";
}
?>