Показать сообщение отдельно
Старый 25.11.2010, 19:10
cv' вне форума Посмотреть профиль Отправить личное сообщение для cv' Найти все сообщения от cv'
  № 16  
Ответить с цитированием
cv'

Регистрация: Apr 2010
Адрес: Москва Кузминки
Сообщений: 109
Спасибо всем, кто откликнулся. Все получилось! =)

Так выглядит код сервера:

PHP код:
<?

    $to 
$_POST["to"] ? $_POST["to"] : "mail@mail.net";
    
$from $_POST["from"] ? $_POST["from"] : "mail@mail.com";
    
$message2 $_POST["message"] ? $_POST["message"] : "some message";

    
$subject "?????? ???????";

    
$fileatt      $_FILES['fileatt']['tmp_name'];
    
$fileatt_type $_FILES['fileatt']['type'];
    
$fileatt_name $_FILES['fileatt']['name'];

    
$file fopen($fileatt,'rb');
    
$data fread($file,filesize($fileatt));
    
fclose($file);

    
$headers "From:$from";
    
$headers .= "\nReply-To:$from";

    
// Generate a boundary string
    
$semi_rand md5(time());
    
$mime_boundary "==Multipart_Boundary_x{$semi_rand}x";

    
// Add the headers for a file attachment
    
$headers .= "\nMIME-Version: 1.0\n" .
                
"Content-Type: multipart/mixed;\n" .
                
" boundary=\"{$mime_boundary}\"";

    
// Add a multipart boundary above the plain message
    
$message  "This is a multi-part message in MIME format.\n\n" .
               
"--{$mime_boundary}\n" .
               
"Content-Type: text/html; charset=\"utf-8\"\n" .
               
"Content-Transfer-Encoding: 7bit\n\n" .
               
$message2 "\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-Transfer-Encoding: base64\n\n" .
                
$data "\n\n" .
                
"--{$mime_boundary}--\n";

    
mail($to,$subject,$message,$headers);
?>
И вот так, (большое спасибо gloomyBrain), клиент:

Код AS3:
import net.request.field.File;
import net.request.field.MIMEType;
import net.request.Request;
import org.bytearray.smtp.encoding.JPEGEncoder;
import flash.net.URLRequestMethod;
import flash.net.URLLoader;
 
var myEncoder = new JPEGEncoder( 900 );
var myCapStream:ByteArray = myEncoder.encode (bitmapData);
 
var request:Request = new Request("http://server.net/mail.php", {
	to:"mail@mail.ru",
	from:"mail@mail.net",
	message:"some message"
},URLRequestMethod.POST);
var file:File = new File("fileatt", myCapStream, "image" + new Date().getTime() + ".jpg", MIMEType.IMAGE_JPEG);
request.files.push(file);
var loader:URLLoader = new URLLoader();
loader.load(request.toURLRequest());
loader.addEventListener(Event.COMPLETE, report);