Example Name: Email.asr
Language: ActionScript 1.0
Version: 1.0.0
Code:
function send(to, from, subject, message) {
try {
var mailobj = Packages.javax.mail;
var props = new java.util.Properties();
// Substitute your SMTP server address here
props.put("mail.smtp.host","192.168.0.31");
var mySession = new mailobj.Session.getInstance(props);
var myMessage = new mailobj.internet.MimeMessage(mySession);
var myToField = new mailobj.internet.InternetAddress(to);
var myFromField = new mailobj.internet.InternetAddress(from);
var recipientType = mailobj.Message.RecipientType.TO;
myMessage.setFrom(myFromField);
myMessage.addRecipients(recipientType, myToField);
myMessage.setSubject(subject);
myMessage.setText(message);
mailobj.Transport.send(myMessage);
} catch(e) {
throw ("Error in sending email:" + e);
}
return true;
}
function Inbox(myHost, myUsername, myPassword) {
// The Inbox object opens the connection to the POP3 server
// and provides methods to receive messages and close connections
var mailobj = Packages.javax.mail;
var props = new java.util.Properties();
var mySession = new mailobj.Session.getInstance(props);
this.popAccount = mySession.getStore("pop3");
this.popAccount.connect(myHost, myUsername, myPassword);
this.folder = this.popAccount.getFolder("INBOX");
this.folder.open(mailobj.Folder.READ_ONLY);
// The getMessages method retrieves all messages
this.getMessages = function() {
return this.folder.getMessages()
};
// The getMessage method retrieves one message given a message number
this.getMessage = function(messageNumber) {
return this.folder.getMessage(messageNumber);
};
// The close() method simply closes connections to the POP3 server
this.close = function() {
this.folder.close(false);
this.popAccount.close();
}
}
// retrieveMessages() retrieves a list of headers given three arguments:
// myHost: POP3 account, myUsername: login name, myPassword: password
function retrieveMessages(myHost, myUsername, myPassword) {
var myInbox = new Inbox(myHost, myUsername, myPassword);
var myMessages = myInbox.getMessages();
// the raw headers can’t be sent thru Flash Remoting, so we serialize
// them manually
var serializedHeaders = serializeHeaders(myMessages);
// close the connection to the inbox
myInbox.close();
return serializedHeaders;
}
// retrieveMessage() retrieve one message given three arguments:
// myHost: POP3 account, myUsername: login name, myPassword: password
function retrieveMessage(myHost, myUsername, myPassword, messageNumber) {
var myInbox = new Inbox(myHost, myUsername, myPassword);
var myMessage = myInbox.getMessage(messageNumber);
// the raw message can’t be sent thru Flash Remoting, so we serialize
// it manually
var serializedMessage = serializeMessage(myMessage);
// close the connection to the inbox
myInbox.close();
return serializedMessage;
}
// serializeHeaders() takes a messages array and extracts/serializes
// the header information (from, subject, messagenumber)
function serializeHeaders(messages) {
var serializedHeaders = new Array();
var header;
for (var i=0; i < messages.length; i++) {
// call our own general purpose header serialization routine
header = serializeHeader(messages[i]);
serializedHeaders.push(header);
}
return serializedHeaders;
}
// serializeHeader() takes one message argument and extracts header information
function serializeHeader(message) {
var header = new Object();
header.messageNumber = message.getMessageNumber();
header.from = message.getFrom();
header.subject = message.getSubject();
return header;
}
// serializeMessage() takes a message as an argument and extracts ONLY
// the text portion of the message. The rest of the parts are simply
// counted as attachments. You can expand this function to return other
// parts of messages as well.
function serializeMessage(message) {
var serializedMessage = serializeHeader(message);
serializedMessage.attachments = 0;
var tempPart;
if(message.isMimeType("multipart/*")) {
var content = message.getContent();
for(var i=0; i<content.getCount(); i++) {
tempPart = content.getBodyPart(i);
if(tempPart.isMimeType("text/plain")) {
serializedMessage.text = tempPart.getContent();
} else {
serializedMessage.attachments++;
}
}
} else {
if(message.isMimeType("text/plain")) {
serializedMessage.text = message.getContent();
} else {
serializedMessage.attachments++;
}
}
return serializedMessage;
}
Download code text
Download chapter example files