• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

PHP email attachment script

MarvynDT

Limp Gawd
Joined
Jan 4, 2003
Messages
504
PHP:
$fileatt = "test.txt"; // Path to the file                  
$fileatt_type = "application/octet-stream"; // File Type 
$fileatt_name = "test.txt"; // Filename that will be used for the file as the attachment 

$email_from = "admin@somarvylous.com"; // Who the email is from 
$email_subject = "exceltest".date(U); // The Subject of the email 
$message_text = "file attached"; // Message that the email has in it

$email_to = "marvyn@somarvylous.com"; // Who the email is too 

$headers = "From: ".$email_from; 

$file = fopen($fileatt,'rb'); 
$data = fread($file,filesize($fileatt)); 
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-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_text . "\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"; 

$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!"); 
}

I can't get this sample script to work. The attachment takes the same name as the email subject and its just an empty text file. My text.txt file is in the same folder as the PHP script. Any ideas?
 
Not sure if this is the problem but:

PHP:
$fileatt = "test.txt"; // Path to the file 
// Should this be
$fileatt="./test.txt";

Might want to debug a little to see if it's actually opening/reading the file.
 
Already did. It has no problem reading in the file.

My only guess is that there is something wrong with the headers. Which is something I have no idea about. I've googled this up, and none of the scripts really work. I guess this is a very rare thing to do in PHP.
 
Found a working solution here

I think one of the reasons why the above code (and others that I have tried) did not work was b/c I was formatting the code and the tabs may have messed up the headers.
 
Back
Top