Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.10.2013, 23:22
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 1  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
По умолчанию Отправка картинки на почту (помогите исправить ошибку).

Всем доброго дня!
Есть флешка, она отправляет данные PHP-скрипту с помощью AMFPHP.
Письмо с картинкой приходит, но ее невозможно просмотреть (скрин приложил).

Помогите разобратся или может у кого есть готовое решение, поделитесь. Всем спасибо!

Код AS3:
package as3lib.net 
{
	import com.adobe.images.PNGEncoder;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.NetStatusEvent;
	import flash.net.NetConnection;
	import flash.net.Responder;
	import flash.utils.ByteArray;
	/**
	 * ...
	 * @author ratush
	 */
	public class SendMail extends EventDispatcher
	{
		private static const _url: String = 'http://seal/amfphp/Amfphp/';
 
		private var _netConnection: NetConnection;
 
		public function SendMail( data:Object, bitmap: Bitmap ) 
		{
			var _bmd:BitmapData = new BitmapData(bitmap.width, bitmap.height);
				_bmd.draw( bitmap );
 
			data.bitmap = Base64.encodeByteArray( PNGEncoder.encode( _bmd ) );
 
			_netConnection = new NetConnection();
			_netConnection.connect( _url );
			_netConnection.addEventListener(NetStatusEvent.NET_STATUS, statusEvent);
			_netConnection.call("Send/sendMail", new Responder( handleResult, handleError ), data );
		}
 
		private function handleResult( result:Object ):void 
		{
			if ( result.status == 'send_succeed' ) 
				dispatchEvent( new Event(Event.COMPLETE) );
		}
 
		private function handleError():void 
		{
			trace('error connect');
		}
 
		private function statusEvent(e:NetStatusEvent):void 
		{
			trace(e.info.details);
		}
 
	}
 
}
PHP код:
<?php

class Send {

    public function 
__construct() {
    
    }
    
    public function 
sendMail$data ) {
    
        
$response = array();

        
$filename "filename.png"

        
$to 'test@gmail.com';                                                                        
        
$from "test@gmail.com";                 
        
$subject "Заказ на изготовление печатки"
        
$message "test msg";
        
$boundary "---"
        
/* Заголовки */
        
$headers "From: $from\nReply-To: $from\n";
        
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"";
        
$body "--$boundary\n";
        
/* Присоединяем текстовое сообщение */
        
$body .= "Content-type: text/html; charset=utf-8 \r\n";
        
$body .= "Content-Transfer-Encoding: quoted-printablenn";
        
$body .= "Content-Disposition: attachment; filename=".basename($filename)."\r\n\r\n";
        
$body .= stripslashes($message)."\n";
        
$body .= "--$boundary\n";
        
/* Добавляем тип содержимого, кодируем текст файла и добавляем в тело письма */
        
$body .= "Content-Type: image/png; name=".basename($filename)."\n"
        
$body .= "Content-Transfer-Encoding: base64\n";
        
$body .= "Content-Disposition: attachment; filename=".basename($filename)."\r\n\r\n";
        
$body .= chunk_splitbase64_encode($data->bitmap) )."\n";                                    
        
$body .= "--".$boundary ."--\n";

        if ( 
mail$to$subject$body$headers) ) {
        
            
$response['status'] = 'send_succeed';
        } else {
            
$response['status'] = 'send_error';
        }

        return 
$response;
    }

}
?>
Изображения
Тип файла: bmp untitled.bmp (50.0 Кб, 72 просмотров)


Последний раз редактировалось alexandrratush; 02.11.2013 в 17:41.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.