Jump to content

Sending html email with attachment in php problem


netlovers

Recommended Posts

I have found the following code for sending html email with attachment .
This code is working fi9 but it is not showing message text "hello" defined in $email_txt

[code]
<?
if($_FILES["fileatt"] != NULL)
{
    $fileatt_type = "application/octet-stream"; //File Type
    $email_from = "[email protected]"; // Who the email is from
    $email_subject = "Test File Attach"; // The Subjectof the email
    $email_txt = "hello";      // Message that the email has in it

    $email_to = "[email protected]"; // Who the email is too

    $headers = "From: ".$email_from;

    $file = fopen($_FILES["fileatt"]["tmp_name"],"rb");
    $data =
fread($file,filesize($_FILES["fileatt"]["tmp_name"]));
    fclose($file);

    $semi_rand = md5(time());
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    $headers .= "\nMIME-Version: 1.0\n" .
    "Content-Type: multipart/mixed;\n" .
    " boundary=\"{$mime_boundary}\"";

    $email_message .= "This is a multi-partmessage in
MIME format.\n\n" .
    "--{$mime_boundary}\n" .
    "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
    "Content-Transfer-Encoding: 7bit\n\n" .
    $email_message . "\n\n";

    $data = chunk_split(base64_encode($data));

    $email_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";
    $email_message = $email_message.$email_txt;

    $ok = @mail($email_to, $email_subject,
    $email_message, $headers);

    if($ok)
    {
        echo "<font face=verdana size=2>The file was
successfully sent!</font>";
    }else{
        die("Sorry but the email could not be sent.
Please go back and try again!");
    }
}
?>[/code]

so if u have solution for this problem plz tell me.
enjoy.
[code]
<?
function email($to, $subject, $text, $from="", $file=""){
if(is_array($to)) $to = implode(", ",$to);
if(empty($to)) return FALSE;
if(empty($subject)) $subject="N/A";
$subject=strip_tags($subject);
$text = wordwrap($text, 77, "<br />\n");
if(file_exists($file)){
  switch(get_filetype($file,3)){
  case ".rm": $type="audio/x-realaudio"; break;
  case ".qt": $type="video/quicktime"; break;
  }
  switch(get_filetype($file)){
  case ".avi": $type="video/avi"; break;
  case ".doc": $type="application/msword"; break;
  case ".gif": $type="image/gif"; break;
  case ".jpg": $type="image/jpeg"; break;
  case ".mov": $type="video/mov"; break;
  case ".mpg": $type="video/mpeg"; break;
  case ".pdf": $type="application/pdf"; break;
  case ".png": $type="image/png"; break;
  case ".ram": $type="audio/x-pn-realaudio"; break;
  case ".tar": $type="application/x-tar"; break;
  case ".wav": $type="audio/wav"; break;
  case ".zip": $type="application/x-zip-compressed"; break;
  }
  switch(get_filetype($file,5)){
  case ".html": $type="text/html"; break;
  case ".mpeg": $type="video/mpeg"; break;
  }
  if(!isset($type)) $type="text/plain";
  $content = fread(fopen($file,"r"),filesize($file));
  $content = chunk_split(base64_encode($content));
  $name = basename($file);
}
$uid = strtoupper(md5(uniqid(time())));
$header = "From: $from\nReply-To: $from\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/mixed; boundary=$uid\n";
$header .= "--$uid\n";
$header .= "Content-Type: text/html\n";
$header .= "--$uid\n";
if(file_exists($file)){
  $header .= "Content-Type: $type; name=\"$name\"\n";
  $header .= "Content-Transfer-Encoding: base64\n";
  $header .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
  $header .= "$content\n";
  $header .= "--$uid--";
}
if(mail($to, $subject, $text, $header)) return TRUE;
else return FALSE;
}
?>
[/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.