2010-11-15 34 views
0

J'essaie d'utiliser du code source pour envoyer des e-mails avec adobe flash et script d'action 3.0 que j'ai reçu d'internet .. ici je veux envoyer un email avec une pièce jointe..mais il utilise toujours Adobe Air comme lecteur .. et maintenant je veux l'utiliser flash player 10 .. donc je ne peux pas utiliser flash.filesystem fourni par la bibliothèque de l'air .. et savoir comment le changer si j'utilise flashplayer 10 en tant que joueur ... et comment mon code devient ??? n'importe quel corps pourrait aider ????Envoi d'email et Joindre Attaché avec adobe flash et action script 3.0

import org.bytearray.smtp.mailer.SMTPMailer; 
import org.bytearray.smtp.encoding.JPEGEncoder; 
import org.bytearray.smtp.encoding.PNGEnc; 
import org.bytearray.smtp.events.SMTPEvent; 
import flash.utils.ByteArray; 
import flash.display.BitmapData; 
import flash.display.Bitmap; 
import flash.events.*; 

/* Pour la bibliothèque de l'air */

import flash.filesystem.FileStream; 
import flash.filesystem.File; 




// create the socket connection to any SMTP socket 
// use your ISP SMTP 

var myMailer:SMTPMailer = new SMTPMailer ("smtp.mail.yahoo.com", 25); 
var fileRef:FileReference; 

// register events 
// event dispatched when mail is successfully sent 
myMailer.addEventListener(SMTPEvent.MAIL_SENT, onMailSent); 
// event dispatched when mail could not be sent 
myMailer.addEventListener(SMTPEvent.MAIL_ERROR, onMailError); 
// event dispatched when SMTPMailer successfully connected to the SMTP server 
myMailer.addEventListener(SMTPEvent.CONNECTED, onConnected); 
// event dispatched when SMTP server disconnected the client for different reasons 
myMailer.addEventListener(SMTPEvent.DISCONNECTED, onDisconnected); 
// event dispatched when the client has authenticated successfully 
myMailer.addEventListener(SMTPEvent.AUTHENTICATED, onAuthSuccess); 
// event dispatched when the client could not authenticate 
myMailer.addEventListener(SMTPEvent.BAD_SEQUENCE, onAuthFailed); 

// take the snapshot 
send_btn.addEventListener (MouseEvent.CLICK, onClick); 

function onClick (pEvt:MouseEvent) 

{ 
/*How to change this attachment by using adobe flash player library code and action script 3.0, not adobe air player library ?????? */ 

/* changement d'ici ........... .......... */

var attachmentFile:File=File.documentsDirectory; 
attachmentFile = attachmentFile.resolvePath("file/Questions.xml"); 
var stream:FileStream = new FileStream();*/ 
var myCapStream:ByteArray = myEncoder.encode (fileRef); 
stream.open(attachmentFile,FileMode.READ); 
stream.readBytes(myCapStream,0,stream.bytesAvailable); 
stream.close(); 

/* jusqu'à ici .......................... */

myMailer.authenticate ("x @ yahoo .com "," xxxx "); myMailer.sendAttachedMail ("[email protected]", "[email protected]", "test", "corps de test", myCapStream,);

} 

function onAuthFailed (pEvt:SMTPEvent):void 

{ 

status_txt.htmlText = "Authentication Error"; 

} 

function onAuthSuccess (pEvt:SMTPEvent):void 

{ 

status_txt.htmlText = "Authentication OK !"; 

} 

function onConnected (pEvt:SMTPEvent):void 

{ 

status_txt.htmlText = "Connected : \n\n" + pEvt.result.message; 
status_txt.htmlText += "Code : \n\n" + pEvt.result.code; 

} 

function onMailSent (pEvt:SMTPEvent) 

{ 

// when data available, read it 
status_txt.htmlText = "Mail sent :\n\n" + pEvt.result.message; 
status_txt.htmlText += "Code : \n\n" + pEvt.result.code; 

} 

function onMailError (pEvt:SMTPEvent):void 

{ 

status_txt.htmlText = "Notification :\n\n" + pEvt.result.message; 
status_txt.htmlText += "Code : \n\n" + pEvt.result.code; 

} 

function onDisconnected (pEvt:SMTPEvent):void 

{ 

status_txt.htmlText = "User disconnected :\n\n" + pEvt.result.message; 
status_txt.htmlText += "Code : \n\n" + pEvt.result.code; 

} 

Répondre

0

L'application de navigateur flash ne peut pas lire le fichier à partir du disque (en mode silencieux) et utiliser le réseau pour envoyer le courrier électronique. Vous devez charger le fichier avec FileReference, obtenir ByteArray à partir de celui-ci (pas tout à fait sûr si c'est possible, essayez d'expérimenter) et alimenter myCapStream.