Putting active email subject and its content into variables
-
- Posts: 8
- Joined: July 13th, 2017, 12:48 am
Putting active email subject and its content into variables
I need a simple way to get an active email's subject and its content into js variables.
Can anyone post some example code?
I would be very grateful for your help.
Can anyone post some example code?
I would be very grateful for your help.
-
- Posts: 6437
- Joined: February 3rd, 2009, 6:29 pm
Re: Putting active email subject and its content into variab
Try these:
nsIMsgDBHdr
http://developer.mozilla.org/en-US/docs ... sIMsgDBHdr
Code: Select all
var msgHdr = gFolderDisplay.selectedMessage;
alert("Subject: " + msgHdr.mime2DecodedSubject +
"\nFrom: " + msgHdr.mime2DecodedAuthor +
"\nTo: " + msgHdr.mime2DecodedRecipients +
"\nDate: " + new Date(msgHdr.dateInSeconds * 1000).toLocaleString());
Code: Select all
// show message properties
var msgHdr = gFolderDisplay.selectedMessage;
var propEnum = msgHdr.propertyEnumerator;
var out = [];
while (propEnum.hasMore()) out.push(propEnum.getNext());
alert(out.join("\n"));
Code: Select all
var msgHdr = gFolderDisplay.selectedMessage;
alert(msgHdr.getStringProperty("subject")); // undecoded "Subject:" header
Code: Select all
var msgHdr = gFolderDisplay.selectedMessage;
var t1 = msgHdr.getUint32Property("date");
var t2 = msgHdr.getUint32Property("dateReceived");
t1 = new Date(t1 * 1000).toLocaleString(); // "Date:"
t2 = new Date(t2 * 1000).toLocaleString(); // "Received:"
alert(t1 + "\n" + t2);
http://developer.mozilla.org/en-US/docs ... sIMsgDBHdr
-
- Posts: 6437
- Joined: February 3rd, 2009, 6:29 pm
Re: Putting active email subject and its content into variab
Do you want to stream the message?BeginnerDeveloper wrote:and its content
Try these:
Code: Select all
// show message
var msgHdr = gFolderDisplay.selectedMessage;
var msgUri = msgHdr.folder.getUriForMsg(msgHdr);
var messenger = Components.classes["@mozilla.org/messenger;1"].
createInstance(Components.interfaces.nsIMessenger);
var msgService = messenger.messageServiceFromURI(msgUri);
var scriptableInputStream = Components.classes["@mozilla.org/scriptableinputstream;1"].
createInstance(Components.interfaces.nsIScriptableInputStream);
var syncStreamListener = Components.classes["@mozilla.org/network/sync-stream-listener;1"].
createInstance(Components.interfaces.nsISyncStreamListener);
scriptableInputStream.init(syncStreamListener);
var messageUri = msgService.streamMessage(msgUri, syncStreamListener, null, null, false, "", true);
var data = new String();
var count = scriptableInputStream.available();
while (count) {
data = data + scriptableInputStream.read(count);
count = scriptableInputStream.available();
}
scriptableInputStream.close();
alert(data);
Code: Select all
// show text
var msgHdr = gFolderDisplay.selectedMessage;
var msgUri = msgHdr.folder.getUriForMsg(msgHdr);
var messenger = Components.classes["@mozilla.org/messenger;1"].
createInstance(Components.interfaces.nsIMessenger);
var msgService = messenger.messageServiceFromURI(msgUri);
var syncStreamListener = Components.classes["@mozilla.org/network/sync-stream-listener;1"].
createInstance(Components.interfaces.nsISyncStreamListener);
msgService.streamMessage(msgUri, syncStreamListener, null, null, false, "", true);
var contentType = new Object();
var data = msgHdr.folder.getMsgTextFromStream(
syncStreamListener.inputStream, msgHdr.Charset, 65536, 32768, false, true, contentType);
alert(contentType.value);
alert(data);
http://developer.mozilla.org/en-US/docs ... mMessage()
nsIMsgFolder getMsgTextFromStream
http://developer.mozilla.org/en-US/docs ... omStream()
-
- Posts: 8
- Joined: July 13th, 2017, 12:48 am
Re: Putting active email subject and its content into variab
Thank you very much! Your reply solved my problem instantly!morat wrote:Try these:
Code: Select all
var msgHdr = gFolderDisplay.selectedMessage; alert("Subject: " + msgHdr.mime2DecodedSubject + "\nFrom: " + msgHdr.mime2DecodedAuthor + "\nTo: " + msgHdr.mime2DecodedRecipients + "\nDate: " + new Date(msgHdr.dateInSeconds * 1000).toLocaleString());
Code: Select all
// show message properties var msgHdr = gFolderDisplay.selectedMessage; var propEnum = msgHdr.propertyEnumerator; var out = []; while (propEnum.hasMore()) out.push(propEnum.getNext()); alert(out.join("\n"));
Code: Select all
var msgHdr = gFolderDisplay.selectedMessage; alert(msgHdr.getStringProperty("subject")); // undecoded "Subject:" header
nsIMsgDBHdrCode: Select all
var msgHdr = gFolderDisplay.selectedMessage; var t1 = msgHdr.getUint32Property("date"); var t2 = msgHdr.getUint32Property("dateReceived"); t1 = new Date(t1 * 1000).toLocaleString(); // "Date:" t2 = new Date(t2 * 1000).toLocaleString(); // "Received:" alert(t1 + "\n" + t2);
http://developer.mozilla.org/en-US/docs ... sIMsgDBHdr
-
- Posts: 8
- Joined: July 13th, 2017, 12:48 am
Re: Putting active email subject and its content into variab
Can you help me with extracting email adress from an active email?morat wrote:Do you want to stream the message?BeginnerDeveloper wrote:and its content
Try these:
Code: Select all
// show message var msgHdr = gFolderDisplay.selectedMessage; var msgUri = msgHdr.folder.getUriForMsg(msgHdr); var messenger = Components.classes["@mozilla.org/messenger;1"]. createInstance(Components.interfaces.nsIMessenger); var msgService = messenger.messageServiceFromURI(msgUri); var scriptableInputStream = Components.classes["@mozilla.org/scriptableinputstream;1"]. createInstance(Components.interfaces.nsIScriptableInputStream); var syncStreamListener = Components.classes["@mozilla.org/network/sync-stream-listener;1"]. createInstance(Components.interfaces.nsISyncStreamListener); scriptableInputStream.init(syncStreamListener); var messageUri = msgService.streamMessage(msgUri, syncStreamListener, null, null, false, "", true); var data = new String(); var count = scriptableInputStream.available(); while (count) { data = data + scriptableInputStream.read(count); count = scriptableInputStream.available(); } scriptableInputStream.close(); alert(data);
nsIMsgMessageService streamMessageCode: Select all
// show text var msgHdr = gFolderDisplay.selectedMessage; var msgUri = msgHdr.folder.getUriForMsg(msgHdr); var messenger = Components.classes["@mozilla.org/messenger;1"]. createInstance(Components.interfaces.nsIMessenger); var msgService = messenger.messageServiceFromURI(msgUri); var syncStreamListener = Components.classes["@mozilla.org/network/sync-stream-listener;1"]. createInstance(Components.interfaces.nsISyncStreamListener); msgService.streamMessage(msgUri, syncStreamListener, null, null, false, "", true); var contentType = new Object(); var data = msgHdr.folder.getMsgTextFromStream( syncStreamListener.inputStream, msgHdr.Charset, 65536, 32768, false, true, contentType); alert(contentType.value); alert(data);
http://developer.mozilla.org/en-US/docs ... mMessage()
nsIMsgFolder getMsgTextFromStream
http://developer.mozilla.org/en-US/docs ... omStream()
I need to extract an email adress of person who sends mail and person who is going to receive it from active mail.
Thank you in advance.
-
- Posts: 6437
- Joined: February 3rd, 2009, 6:29 pm
Re: Putting active email subject and its content into variab
Do you want to extract the mailbox without the name?
i.e.
Email Address = John Doe <johndoe@example.com>
Email Name = John Doe
Email Mailbox = johndoe@example.com
nsIMsgHeaderParser extractHeaderAddressMailboxes
http://developer.mozilla.org/en-US/docs ... ailboxes()
i.e.
Email Address = John Doe <johndoe@example.com>
Email Name = John Doe
Email Mailbox = johndoe@example.com
Code: Select all
var msgHdr = gFolderDisplay.selectedMessage;
alert(msgHdr.mime2DecodedAuthor + "\n" + MailServices.headerParser.
extractHeaderAddressMailboxes(msgHdr.mime2DecodedAuthor));
http://developer.mozilla.org/en-US/docs ... ailboxes()
-
- Posts: 8
- Joined: July 13th, 2017, 12:48 am
Re: Putting active email subject and its content into variab
One more time, thank you very much Sir!morat wrote:Do you want to extract the mailbox without the name?
i.e.
Email Address = John Doe <johndoe@example.com>
Email Name = John Doe
Email Mailbox = johndoe@example.com
nsIMsgHeaderParser extractHeaderAddressMailboxesCode: Select all
var msgHdr = gFolderDisplay.selectedMessage; alert(msgHdr.mime2DecodedAuthor + "\n" + MailServices.headerParser. extractHeaderAddressMailboxes(msgHdr.mime2DecodedAuthor));
http://developer.mozilla.org/en-US/docs ... ailboxes()