Показать сообщение отдельно
Старый 11.09.2014, 22:38
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 7  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Вчера полдня просидел
Код AS3:
saveFile(bitmapData, "http://your_site/mail/sendmail.php");
 
		public function saveFile(bd:BitmapData, scriptLocation:String):void {
			var byteArray:ByteArray = new ByteArray();
			bd.encode(new Rectangle(0,0,bd.width, bd.height), new JPEGEncoderOptions(90), byteArray);
 
			var encodedFile:Base64Encoder = new Base64Encoder();
			encodedFile.encodeBytes(byteArray);
 
			var data:URLVariables = new URLVariables();
			data.fileData = encodedFile;
 
			var request:URLRequest = new URLRequest(scriptLocation);
			request.method = URLRequestMethod.POST; 
			request.data = data;
 
			var loader:URLLoader= new URLLoader();
			loader.dataFormat = URLLoaderDataFormat.TEXT; 
			loader.addEventListener(flash.events.Event.COMPLETE, onServerResponse);
			loader.addEventListener(flash.events.Event.OPEN, traceEvent);
			loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, traceEvent);
			loader.addEventListener(IOErrorEvent.IO_ERROR, traceEvent);
			loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, traceEvent);
			loader.addEventListener(ProgressEvent.PROGRESS, traceEvent);
 
			try {
				loader.load(request);
			} catch (e:*) {
				trace("an error occured of type", e);
			}
 
			function traceEvent(e:*):void {
				trace(e);
			}
		}
 
private function onServerResponse(event:flash.events.Event):void
		{
			var loader:URLLoader = URLLoader(event.target);
			trace("onServerResponse: " + loader.data);
		}
PHP код:
<?php
$data 
$_POST['fileData'];

/* Email Detials */
  
$mail_to "your_mail@gmail.com";
  
$from_mail "<sender address>";
  
$from_name "<sender name>";
  
$reply_to "<reply-to address>";
  
$subject "<email subject>";
  
$message "<email content>";
 
/* Attachment File */
  
  
$content chunk_split($data);
   
/* Set the email header */
  // Generate a boundary
  
$boundary md5(uniqid(time()));
   
  
// Email header
  
$header "From: ".$from_name." <".$from_mail.">\r\n";
  
$header .= "Reply-To: ".$reply_to."\r\n";
  
$header .= "MIME-Version: 1.0\r\n";
   
  
// Multipart wraps the Email Content and Attachment
  
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
  
$header .= "This is a multi-part message in MIME format.\r\n";
  
$header .= "--".$boundary."\r\n";
   
  
// Email content
  // Content-type can be text/plain or text/html
  
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
  
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
  
$header .= "$message\r\n";
  
$header .= "--".$boundary."\r\n";
   
  
// Attachment
  // Edit content type for different file extensions
  
$header .= "Content-Type: application/jpg; name=\"image.jpg\"\r\n";
  
$header .= "Content-Transfer-Encoding: base64\r\n";
  
$header .= "Content-Disposition: attachment; filename=\"image.jpg\"\r\n\r\n";
  
$header .= $content."\r\n";
  
$header .= "--".$boundary."--";
   
  
// Send email
  
if (mail($mail_to$subject""$header)) {
    echo 
"Sent";
  } else {
    echo 
"Error";
  }

?>
Добавлено через 1 минуту
Проверил на двух хостингах - работает.
__________________
In Code We Trust