java folder_Java Folder.open方法代碼示例

本文整理匯總了Java中javax.mail.Folder.open方法的典型用法代碼示例。如果您正苦於以下問題:Java Folder.open方法的具體用法?Java Folder.open怎麽用?Java Folder.open使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.mail.Folder的用法示例。

在下文中一共展示了Folder.open方法的38個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: deleteMails

​點讚 4

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Connect to the mail server and delete all mails.

*/

public void deleteMails() throws MessagingException {

Folder folder = getStore().getFolder(MAIL_INBOX);

folder.open(Folder.READ_WRITE);

// Get folder's list of messages.

Message[] messages = folder.getMessages();

// Retrieve message headers for each message in folder.

FetchProfile profile = new FetchProfile();

profile.add(FetchProfile.Item.ENVELOPE);

folder.fetch(messages, profile);

for (Message message : messages) {

message.setFlag(Flags.Flag.DELETED, true);

}

folder.close(true);

}

開發者ID:servicecatalog,項目名稱:oscm,代碼行數:22,

示例2: changeStatus

​點讚 4

import javax.mail.Folder; //導入方法依賴的package包/類

public void changeStatus( String folderName, long mailIDs[], Flags.Flag newFlag, boolean value ){

try{

Folder folderToUse = mailStore.getFolder(folderName);

folderToUse.open( Folder.READ_WRITE );

Flags f = new Flags();

f.add( newFlag );

Message mlist[];

if ( folderToUse instanceof UIDFolder )

mlist = ((UIDFolder)folderToUse).getMessagesByUID( mailIDs );

else

mlist = folderToUse.getMessages( returnToInts(mailIDs) );

for ( int x=0; x < mlist.length; x++ )

mlist[x].setFlags( f, value );

folderToUse.close( true );

setData( "succeeded", cfBooleanData.TRUE );

} catch (Exception E ){

setData( "errortext", new cfStringData( E.getMessage() ) );

setData( "succeeded", cfBooleanData.FALSE );

}

}

開發者ID:OpenBD,項目名稱:openbd-core,代碼行數:27,

示例3: prepareMailbox

​點讚 4

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("pop3");

store.connect("localhost", 25, "jones", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

// inserts 5 new messages

Message[] messages = new Message[5];

for (int i = 0; i < 5; i++) {

messages[i] = new MimeMessage(sender.getSession());

messages[i].setHeader("Message-ID", "" + i);

messages[i].setText("Message " + i);

}

folder.appendMessages(messages);

folder.close(true);

}

開發者ID:HydAu,項目名稱:Camel,代碼行數:21,

示例4: reconnectStoreIfClosed

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Reconnects if connection is closed.

* NoteInternal method

* @return true if store re-connection is performed and this means that close should be closed after the work is done

* @throws MessagingException

*/

public boolean reconnectStoreIfClosed() throws MessagingException {

boolean storeReconnected = false;

// the folder is empty when the message is not loaded from IMAP server, but from a file

Folder imapFolder = message.getFolder();

if (imapFolder == null) {

imapFolder = this.partOfImapFolder;

} else {

partOfImapFolder = imapFolder; // keep reference

}

if (imapFolder != null) {

Store store = imapFolder.getStore();

if (store != null) {

if (!store.isConnected()) {

log.debug("Reconnecting store... ");

store.connect();

storeReconnected = true;

}

// Open folder in read-only mode

if (!imapFolder.isOpen()) {

log.debug("Reopening folder " + imapFolder.getFullName()

+ " in order to get contents of mail message");

imapFolder.open(Folder.READ_ONLY);

}

}

}

return storeReconnected;

}

開發者ID:Axway,項目名稱:ats-framework,代碼行數:37,

示例5: getFolder

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private Folder getFolder(String folderName, int mode) {

Folder source = null;

try {

if (folders.containsKey(folderName)) {

source = folders.get(folderName);

} else {

source = store.getFolder(folderName);

if (source == null || !source.exists()) {

throw new IllegalArgumentException("Invalid folder: " + folderName);

}

folders.put(folderName, source);

}

if (!source.isOpen()) {

source.open(mode);

}

} catch (MessagingException ex) {

Logger.getLogger(AccountProcessor.class.getName()).log(Level.SEVERE, null, ex);

}

return source;

}

開發者ID:PacktPublishing,項目名稱:Java-9-Programming-Blueprints,代碼行數:21,

示例6: createTestMessages

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public void createTestMessages() {

try {

GreenMailUser user = greenMail.setUser(TEST_RECIP, "password");

final String subject = GreenMailUtil.random();

final String body = GreenMailUtil.random();

user.deliver(createMimeMessage("[email protected]", subject, body, null));

user.deliver(createMimeMessage("[email protected]", "Great stuff cheap!", "body", null));

user.deliver(createMimeMessage("[email protected]", "Happening this month", "stuff", null));

user.deliver(createMimeMessage("[email protected]", "Get certified today!", "Cheap!", null));

user.deliver(createMimeMessage("[email protected]", "It's been a long time!", "Let's talk", null));

user.deliver(createMimeMessage("[email protected]", "The Sound of Drums", "boom boom boom",

Date.from(LocalDate.now().minusYears(2).atStartOfDay().atZone(ZoneId.systemDefault()).toInstant())));

Session imapSession = greenMail.getImap().createSession();

Store store = imapSession.getStore("imap");

store.connect(TEST_RECIP, "password");

Folder defaultFolder = store.getDefaultFolder();

Folder inbox = store.getFolder("INBOX");

inbox.open(Folder.READ_WRITE);

Folder ads = defaultFolder.getFolder("Ads");

ads.create(Folder.HOLDS_MESSAGES);

Folder spam = defaultFolder.getFolder("Spam");

spam.create(Folder.HOLDS_MESSAGES);

} catch (MessagingException ex) {

Logger.getLogger(TestMailUtil.class.getName()).log(Level.SEVERE, null, ex);

}

}

開發者ID:PacktPublishing,項目名稱:Java-9-Programming-Blueprints,代碼行數:32,

示例7: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("imap");

store.connect("localhost", 25, "claus", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

// inserts two messages with the SEEN flag

Message[] msg = new Message[2];

msg[0] = new MimeMessage(sender.getSession());

msg[0].setText("Message 1");

msg[0].setHeader("Message-ID", "0");

msg[0].setFlag(Flags.Flag.SEEN, true);

msg[1] = new MimeMessage(sender.getSession());

msg[1].setText("Message 2");

msg[0].setHeader("Message-ID", "1");

msg[1].setFlag(Flags.Flag.SEEN, true);

folder.appendMessages(msg);

folder.close(true);

}

示例8: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox(String user, String type) throws Exception {

// connect to mailbox

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore(type);

store.connect("localhost", 25, user, "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

InputStream is = getClass().getResourceAsStream("/SignedMailTestCaseHurz.elm");

Message hurzMsg = new MimeMessage(sender.getSession(), is);

Message[] messages = new Message[] {hurzMsg};

// insert one signed message

folder.appendMessages(messages);

folder.close(true);

}

開發者ID:HydAu,項目名稱:Camel,代碼行數:18,

示例9: deleteAllEmails

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Delete all emails in the inbox.

*

* @param protocol protocol used to connect to the server

* @throws MessagingException if we're unable to connect to the store

*/

public static void deleteAllEmails(String protocol, GreenMailUser user) throws MessagingException {

Folder inbox = null;

Store store = getConnection(user, protocol);

try {

inbox = store.getFolder(EMAIL_INBOX);

inbox.open(Folder.READ_WRITE);

Message[] messages = inbox.getMessages();

for (Message message : messages) {

message.setFlag(Flags.Flag.DELETED, true);

log.info("Deleted email Subject : " + message.getSubject());

}

} finally {

if (inbox != null) {

inbox.close(true);

}

if (store != null) {

store.close();

}

}

}

開發者ID:wso2,項目名稱:product-ei,代碼行數:28,

示例10: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("imap");

store.connect("localhost", 25, "claus", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

// inserts two new messages

Message[] msg = new Message[2];

msg[0] = new MimeMessage(sender.getSession());

msg[0].setText("Message 1");

msg[0].setHeader("Message-ID", "0");

msg[0].setFlag(Flags.Flag.SEEN, false);

msg[1] = new MimeMessage(sender.getSession());

msg[1].setText("Message 2");

msg[0].setHeader("Message-ID", "1");

msg[1].setFlag(Flags.Flag.SEEN, true);

folder.appendMessages(msg);

folder.close(true);

}

示例11: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("pop3");

store.connect("localhost", 25, "bill", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

// inserts 1 new message

Message[] messages = new Message[1];

messages[0] = new MimeMessage(sender.getSession());

messages[0].setSubject("TestSubject");

messages[0].setHeader("Message-ID", "0");

messages[0].setText("TestText");

folder.appendMessages(messages);

folder.close(true);

}

開發者ID:HydAu,項目名稱:Camel,代碼行數:21,

示例12: checkInbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public void checkInbox(int mode) throws MessagingException, IOException {

if (mode == 0) {

return;

}

boolean show = (mode & MailClient.SHOW_MESSAGES) > 0;

boolean clear = (mode & MailClient.CLEAR_MESSAGES) > 0;

String action = (show ? "Show" : "") + (show && clear ? " and " : "") + (clear ? "Clear" : "");

System.out.println(action + " INBOX for " + from);

Store store = session.getStore();

store.connect();

Folder root = store.getDefaultFolder();

Folder inbox = root.getFolder("inbox");

inbox.open(Folder.READ_WRITE);

Message[] msgs = inbox.getMessages();

if (msgs.length == 0 && show) {

System.out.println("No messages in inbox");

}

for (Message msg2 : msgs) {

MimeMessage msg = (MimeMessage) msg2;

if (show) {

System.out.println(" From: " + msg.getFrom()[0]);

System.out.println(" Subject: " + msg.getSubject());

System.out.println(" Content: " + msg.getContent());

}

if (clear) {

msg.setFlag(Flags.Flag.DELETED, true);

}

}

inbox.close(true);

store.close();

System.out.println();

}

開發者ID:darciopacifico,項目名稱:omr,代碼行數:33,

示例13: deleteMails

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* delete all message in ibox that match given criteria

* @param messageNumbers

* @param uIds

* @throws MessagingException

* @throws IOException

*/

public void deleteMails(String as[], String as1[]) throws MessagingException, IOException {

Folder folder;

Message amessage[];

folder = _fldelse.getFolder("INBOX");

folder.open(2);

Map map = getMessages(null,folder, as1, as, startrow, maxrows,false);

Iterator iterator = map.keySet().iterator();

amessage = new Message[map.size()];

int i = 0;

while(iterator.hasNext()) {

amessage[i++] = map.get(iterator.next());

}

try {

folder.setFlags(amessage, new Flags(javax.mail.Flags.Flag.DELETED), true);

}

finally {

folder.close(true);

}

}

開發者ID:lucee,項目名稱:Lucee,代碼行數:27,

示例14: main

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public static void main(String[] args) throws MessagingException {

String url = "https://outlook.office365.com/ews/exchange.asmx";

Properties properties = new Properties();

properties.setProperty("org.sourceforge.net.javamail4ews.util.Util.EnableServiceTrace", "true");

Session session = Session.getInstance(properties);

System.out.println("retrieving the store");

//Get the EWS store implementation

Store store = session.getStore("ewsstore");

System.out.println("done");

//Connect to the Exchange server - No port required.

//Also connect() might be used if the session is initalized with the known mail.* properties

System.out.println(String.format("connecting to %s", url));

store.connect(url,

"[email protected]",

"p4ssw0rd");

System.out.println(String.format("connected to %s", url));

System.out.println(String.format("get default folder", url));

Folder folder = store.getDefaultFolder();

System.out.println(String.format("open default folder as read-only"));

folder.open(Folder.READ_ONLY);

System.out.println(String.format("done"));

Message[] messages = folder.getMessages();

System.out.println(String.format("there is %d messages", messages.length));

System.out.println(messages[0].getFrom());

}

開發者ID:gartcimore,項目名稱:javamail4ews,代碼行數:32,

示例15: checkInboxSave

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public void checkInboxSave(int mode) throws MessagingException, IOException {

Store store = session.getStore();

store.connect();

Folder root = store.getDefaultFolder();

Folder inbox = root.getFolder("inbox");

inbox.open(Folder.READ_WRITE);

Message[] msgs = inbox.getMessages();

for (Message msg2 : msgs) {

POP3Message msg = (POP3Message) msg2;

Object object = msg.getContent();

if (object instanceof Multipart) {

Multipart multipart = (Multipart) object;

for (int i = 0, n = multipart.getCount(); i < n; i++) {

MailClient.handlePart(multipart.getBodyPart(i));

}

}

System.out.println(" From: " + msg.getFrom()[0]);

System.out.println(" Subject: " + msg.getSubject());

System.out.println(" Content: " + object);

}

inbox.close(true);

store.close();

}

開發者ID:darciopacifico,項目名稱:omr,代碼行數:31,

示例16: compact

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public String compact() throws MessagingException

{

Folder folder = _folderData.getFolder();

folder.open(Folder.READ_WRITE);

// It would be much more efficient to simply trim out

// the list of "expunged" messages from the data model;

// instead, we're refreshing the list.

folder.expunge();

folder.close(true);

return refresh();

}

開發者ID:apache,項目名稱:myfaces-trinidad,代碼行數:14,

示例17: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("pop3");

store.connect("localhost", 25, "bill", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

// inserts 3 messages, one with earlier, one with later sent date and one with invalid subject (not returned in search)

Message[] messages = new Message[3];

messages[0] = new MimeMessage(sender.getSession());

messages[0].setText("Earlier date");

messages[0].setHeader("Message-ID", "0");

messages[0].setSentDate(new Date(10000));

messages[0].setSubject("Camel");

messages[1] = new MimeMessage(sender.getSession());

messages[1].setText("Later date");

messages[1].setHeader("Message-ID", "1");

messages[1].setSentDate(new Date(20000));

messages[1].setSubject("Camel");

messages[2] = new MimeMessage(sender.getSession());

messages[2].setText("Even later date");

messages[2].setHeader("Message-ID", "2");

messages[2].setSentDate(new Date(30000));

messages[2].setSubject("Invalid");

folder.appendMessages(messages);

folder.close(true);

}

開發者ID:HydAu,項目名稱:Camel,代碼行數:34,

示例18: _getEmail

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public MessageWrapper _getEmail( String hostName, MessageFilter[] messageFilters, Map propertyMap )

{

Properties mailProps = new Properties();

mailProps.putAll( propertyMap );

List messageList = new ArrayList( 10 );

MessageWrapper messageWrapper = null;

try

{

Session emailSession = Session.getDefaultInstance( mailProps );

Store store = emailSession.getStore( propertyMap.get( PROTOCOL ) );

store.connect( hostName, propertyMap.get( USER_NAME ), propertyMap.get( PASSWORD ) );

Folder emailFolder = store.getFolder( propertyMap.get( FOLDER_NAME ) != null ? propertyMap.get( FOLDER_NAME ) : DEFAULT_FOLDER_NAME );

emailFolder.open( Folder.READ_WRITE );

Message[] messages = emailFolder.getMessages();

int messageCount = emailFolder.getMessageCount();

if ( messageCount > MAX_MESSAGES )

messageCount = MAX_MESSAGES;

if ( log.isInfoEnabled() )

log.info( "Processing " + messageCount + " messages" );

for ( int i = 0; i < messageCount; i++ )

{

if ( applyFilters( messages[i], messageFilters ) )

{

messageList.add( messages[i] );

}

}

if ( messageList.size() == 0 )

throw new ScriptException( "Failed to find any email messages that met the criteria" );

Collections.sort( messageList, new DateComparator() );

String messageContent = null;

String contentType = messageList.get( 0 ).getContentType();

if ( contentType.startsWith( "text/" ) )

messageContent = messageList.get( 0 ).getContent().toString();

else if ( messageList.get( 0 ).isMimeType( "multipart/*" ) )

messageContent = getTextFromMimeMultipart( (MimeMultipart) messageList.get( 0 ).getContent() );

else

messageContent = messageList.get( 0 ).getContent().getClass().getName();

messageWrapper = new MessageWrapper( messageList.size(), messageList.get( 0 ).getFrom()[0].toString(), messageList.get( 0 ).getSubject(), messageContent, contentType );

emailFolder.close( false );

store.close();

}

catch ( Exception e )

{

e.printStackTrace();

throw new ScriptException( "Failed to find email" );

}

return messageWrapper;

}

開發者ID:xframium,項目名稱:xframium-java,代碼行數:63,

示例19: main

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public static void main(String[] args) throws Exception {

Properties props = new Properties();

String host = "pop.mailinator.com";

String username = "x-test-m";

String password = "mypwdxxx";

String provider = "pop3";

Session session = Session.getDefaultInstance(props, null);

Store store = session.getStore(provider);

store.connect(host, username, password);

Folder inbox = store.getFolder("INBOX");

if (inbox == null) {

System.out.println("No INBOX");

System.exit(1);

}

inbox.open(Folder.READ_ONLY);

Message[] messages = inbox.getMessages();

for (int i = 0; i < messages.length; i++) {

System.out.println("Message " + (i + 1));

messages[i].writeTo(System.out);

}

inbox.close(false);

store.close();

}

開發者ID:qmetry,項目名稱:qaf,代碼行數:30,

示例20: browseMessageFromFolder

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* 根據郵件夾對象瀏覽郵件

* @param folder

* @throws MessagingException

* @throws IOException

*/

private Object browseMessageFromFolder(Folder folder) throws Exception {

// TODO Auto-generated method stub

folder.open(Folder.READ_ONLY);

System.out.println("總共有"+folder.getMessageCount()+"封郵件");

System.out.println("總共有"+folder.getUnreadMessageCount()+"封未讀郵件");

Message[] messages=folder.getMessages();

return call(messages);

/*for (int i = 1; i <=messages.length; i++) {

System.out.println("這是第"+i+"封郵件");

//getMessageHeader(folder.getMessage(i));

writeSubjectToOutPutStream(folder.getMessage(i));;

}*/

//folder.close(false);

}

開發者ID:xiaomin0322,項目名稱:alimama,代碼行數:21,

示例21: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("pop3");

store.connect("localhost", 25, "bill", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

// inserts 5 new messages

Message[] messages = new Message[5];

for (int i = 0; i < 5; i++) {

messages[i] = new MimeMessage(sender.getSession());

messages[i].setHeader("Message-ID", "" + i);

messages[i].setText("Message " + i);

}

folder.appendMessages(messages);

folder.close(true);

}

開發者ID:HydAu,項目名稱:Camel,代碼行數:21,

示例22: isMailReceivedBySubject

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Check a particular email has received to a given email folder by email subject.

*

* @param emailSubject - Email emailSubject to find email is in inbox or not

* @return - found the email or not

* @throws ESBMailTransportIntegrationTestException - Is thrown if an error occurred while reading the emails

*/

public static boolean isMailReceivedBySubject(String emailSubject, String folder)

throws ESBMailTransportIntegrationTestException {

boolean emailReceived = false;

Folder mailFolder;

Store store = getConnection();

try {

mailFolder = store.getFolder(folder);

mailFolder.open(Folder.READ_WRITE);

SearchTerm searchTerm = new AndTerm(new SubjectTerm(emailSubject), new BodyTerm(emailSubject));

Message[] messages = mailFolder.search(searchTerm);

for (Message message : messages) {

if (message.getSubject().contains(emailSubject)) {

log.info("Found the email emailSubject : " + emailSubject);

emailReceived = true;

break;

}

}

return emailReceived;

} catch (MessagingException ex) {

log.error("Error when getting mail count ", ex);

throw new ESBMailTransportIntegrationTestException("Error when getting mail count ", ex);

} finally {

if (store != null) {

try {

store.close();

} catch (MessagingException e) {

log.warn("Error when closing the store ", e);

}

}

}

}

開發者ID:wso2,項目名稱:product-ei,代碼行數:39,

示例23: main

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public static void main(String[] argv) throws Exception {

String fileName = MailConstants.PROPS_FILE_NAME;

String protocol = null;

String host = null;

String user = null;

String password = null;

String root = null;

// If argc == 1, assume it's a Properties file.

if (argv.length == 1) {

fileName = argv[0];

FileProperties fp = new FileProperties(fileName);

fp.load();

protocol = fp.getProperty(MailConstants.RECV_PROTO);

host = fp.getProperty(MailConstants.RECV_HOST);

user = fp.getProperty(MailConstants.RECV_USER);

password = fp.getProperty(MailConstants.RECV_PASS);

root = fp.getProperty(MailConstants.RECV_ROOT);

}

// If not, assume listing all args in long form.

else if (argv.length == 5) {

protocol = argv[0];

host = argv[1];

user = argv[2];

password = argv[3];

root = argv[4];

}

// Otherwise give up.

else {

System.err.println(

"Usage: MailLister protocol host user pw root");

System.exit(0);

}

boolean recursive = false;

// Start with a JavaMail Session object

Session session = Session.getDefaultInstance(

System.getProperties(), null);

session.setDebug(false);

// Get a Store object for the given protocol

Store store = session.getStore(protocol);

if (password.equals("*")) {

final char[] passBytes =

System.console().readPassword("Password:", (Object[])null);

password = new String(passBytes);

}

store.connect(host, user, password);

// Get Folder object for root, and list it

// If root name = "", getDefaultFolder(), else getFolder(root)

Folder rf;

if (root.length() != 0) {

System.out.println("Getting folder " + root + ".");

rf = store.getFolder(root);

} else {

System.out.println("Getting default folder.");

rf = store.getDefaultFolder();

}

rf.open(Folder.READ_WRITE);

if (rf.getType() == Folder.HOLDS_FOLDERS) {

Folder[] fs = rf.list();

for (Folder f : fs) {

listFolder(f, "", recursive);

}

} else {

listFolder(rf, "", false);

}

}

開發者ID:shashanksingh28,項目名稱:code-similarity,代碼行數:72,

示例24: getEmails

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

@Override

public List getEmails()

throws MessagingException, IOException, NamingException {

Session emailSession = null;

Store store = null;

Folder emailFolder = null;

List receivedEmails = new ArrayList();

try {

if (!StringUtils.isEmpty(mailSettings.getJndiName())) {

InitialContext ic = new InitialContext();

emailSession = (Session) ic.lookup(mailSettings.getJndiName());

store = emailSession.getStore();

store.connect();

}

else {

// Set connection properties

Properties properties = new Properties();

String prefix = "mail.".concat(mailSettings.getProtocol());

properties.put(String.format("%s.host", prefix), mailSettings.getHost());

properties.put(String.format("%s.port", prefix), mailSettings.getPort());

properties.put("mail.store.protocol", mailSettings.getProtocol());

properties.put(String.format("%s.starttls.enable", prefix), mailSettings.getStarttlsEnabled());

// Create the session and the object Store to get the emails

emailSession = Session.getDefaultInstance(properties);

store = emailSession.getStore();

store.connect(mailSettings.getUsername(), mailSettings.getPassword());

}

// Get the folder that contains the emails and open it

emailFolder = store.getFolder("INBOX");

emailFolder.open(Folder.READ_ONLY);

// Get emails that haven't been read

Message[] messagesReceived = emailFolder.getMessages();

for (Message message : messagesReceived) {

Object content = message.getContent();

String body = null;

if (content instanceof Multipart) {

Multipart multipart = (Multipart) content;

BodyPart bodyPart = multipart.getBodyPart(0);

if (bodyPart != null) {

body = bodyPart.getContent().toString();

}

}

else if (content instanceof String) {

body = (String) content;

}

SimpleMailMessage email = new SimpleMailMessage();

email.setSubject(message.getSubject());

email.setText(body);

email.setFrom(message.getFrom()[0].toString());

email.setSentDate(message.getSentDate());

receivedEmails.add(email);

}

}

finally {

// Close objects Folder and Store

if (emailFolder != null && emailFolder.isOpen()) {

emailFolder.close(false);

}

if (store != null && store.isConnected()) {

store.close();

}

}

return receivedEmails;

}

開發者ID:DISID,項目名稱:springlets,代碼行數:71,

示例25: prepareMailbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("imap");

store.connect("localhost", 25, "jones", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

Message[] msg = new Message[1];

MimeMessage mime = new MimeMessage(sender.getSession());

mime.setContent("Bye World", "text/plain; charset=ThisIsNotAKnownCharset");

msg[0] = mime;

folder.appendMessages(msg);

folder.close(true);

}

示例26: readLatestEmailWithSubject

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Reads the latest email with the given subject from the email inbox.

*

* @param subject

* the email subject

* @return the email body or null if no email was found

* @throws Exception

*/

public String readLatestEmailWithSubject(String subject) throws Exception {

Store store = mailSession.getStore();

store.connect();

Folder folder = store.getFolder(MAIL_INBOX);

folder.open(Folder.READ_WRITE);

Message[] messages = null;

messages = folder.search(new SubjectTerm(subject));

String body = null;

if (messages.length > 0) {

Message latest = messages[0];

for (Message m : messages) {

if (latest.getSentDate().compareTo(m.getSentDate()) < 0) {

latest = m;

}

}

body = (String) latest.getContent();

}

folder.close(false);

store.close();

return body;

}

開發者ID:servicecatalog,項目名稱:development,代碼行數:37,

示例27: rejectMessage

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

private void rejectMessage(MimeMessage email) {

try {

Folder folder = email.getFolder();

Folder rejectFolder = folder.getStore().getFolder(imapRejectFolder);

rejectFolder.open(Folder.READ_WRITE);

rejectFolder.appendMessages(new MimeMessage[]{email});

rejectFolder.close(false);

} catch (Exception e) {

log.error("Unexpected error while rejecting message " + email, e);

}

}

開發者ID:ascalo19,項目名稱:imap2smtp,代碼行數:12,

示例28: getMessage

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

public void getMessage( cfImapConnection imapConnection, String rootFolder, long messageID, String _attachURI, String _attachDIR ) throws cfmRunTimeException {

try{

FolderfolderToList;

if ( rootFolder == null || rootFolder.length() == 0 )

folderToList = imapConnection.mailStore.getDefaultFolder();

else

folderToList = imapConnection.mailStore.getFolder(rootFolder);

if ( (folderToList.getType() & Folder.HOLDS_MESSAGES) != 0){

if ( !folderToList.isOpen() )

folderToList.open( Folder.READ_ONLY );

boolean bResult = false;

if ( folderToList instanceof UIDFolder )

bResult = extractMessage( ((UIDFolder)folderToList).getMessageByUID( messageID ), messageID, _attachURI, _attachDIR );

else

bResult = extractMessage( folderToList.getMessage( (int)messageID ), messageID, _attachURI, _attachDIR );

if ( !bResult )imapConnection.setStatus( false, "Message does not exist" );

else imapConnection.setStatus( true, "" );

folderToList.close(false);

}

}catch(Exception E){

imapConnection.setStatus( false, E.getMessage() );

}

}

開發者ID:OpenBD,項目名稱:openbd-core,代碼行數:31,

示例29: checkMessages

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

protected void checkMessages(Store store, Session session) throws MessagingException {

if (!store.isConnected()) {

store.connect();

}

// open the default folder

Folder folder = store.getDefaultFolder();

if (!folder.exists()) {

throw new MessagingException("No default (root) folder available");

}

// open the inbox

folder = folder.getFolder(INBOX);

if (!folder.exists()) {

throw new MessagingException("No INBOX folder available");

}

// get the message count; stop if nothing to do

folder.open(Folder.READ_WRITE);

int totalMessages = folder.getMessageCount();

if (totalMessages == 0) {

folder.close(false);

return;

}

// get all messages

Message[] messages = folder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));

FetchProfile profile = new FetchProfile();

profile.add(FetchProfile.Item.ENVELOPE);

profile.add(FetchProfile.Item.FLAGS);

profile.add("X-Mailer");

folder.fetch(messages, profile);

// process each message

for (Message message: messages) {

// process each un-read message

if (!message.isSet(Flags.Flag.SEEN)) {

long messageSize = message.getSize();

if (message instanceof MimeMessage && messageSize >= maxSize) {

Debug.logWarning("Message from: " + message.getFrom()[0] + "not received, too big, size:" + messageSize + " cannot be more than " + maxSize + " bytes", module);

// set the message as read so it doesn't continue to try to process; but don't delete it

message.setFlag(Flags.Flag.SEEN, true);

} else {

this.processMessage(message, session);

if (Debug.verboseOn()) Debug.logVerbose("Message from " + UtilMisc.toListArray(message.getFrom()) + " with subject [" + message.getSubject() + "] has been processed." , module);

message.setFlag(Flags.Flag.SEEN, true);

if (Debug.verboseOn()) Debug.logVerbose("Message [" + message.getSubject() + "] is marked seen", module);

// delete the message after processing

if (deleteMail) {

if (Debug.verboseOn()) Debug.logVerbose("Message [" + message.getSubject() + "] is being deleted", module);

message.setFlag(Flags.Flag.DELETED, true);

}

}

}

}

// expunge and close the folder

folder.close(true);

}

開發者ID:gildaslemoal,項目名稱:elpi,代碼行數:62,

示例30: getMails

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* return all messages from inbox

* @param messageNumbers all messages with this ids

* @param uIds all messages with this uids

* @param withBody also return body

* @return all messages from inbox

* @throws MessagingException

* @throws IOException

*/

public Query getMails(String[] messageNumbers, String[] uids, boolean all) throws MessagingException, IOException {

Query qry = new QueryImpl(all ? _fldnew : _flddo, 0, "query");

Folder folder = _fldelse.getFolder("INBOX");

folder.open(Folder.READ_ONLY);

try {

getMessages(qry,folder, uids, messageNumbers, startrow, maxrows,all);

}

finally {

folder.close(false);

}

return qry;

}

開發者ID:lucee,項目名稱:Lucee4,代碼行數:22,

示例31: getInbox

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Return a list in inbox message headers.

*/

public List getInbox() {

List emails = new ArrayList();

Store store = null;

Folder inbox = null;

try {

store = connectStore();

inbox = store.getFolder("INBOX");

if (inbox == null) {

log(new BotException("Failed to access inbox, no INBOX."));

}

inbox.open(Folder.READ_ONLY);

Message[] messages = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));

//Message[] messages = inbox.getMessages(1, Math.min(inbox.getMessageCount(), 50));

for (int index = 0; index < 10 && index < messages.length; index++) {

emails.add(0, messages[index].getReceivedDate() + " - " + String.valueOf(getFrom(messages[index])) + ": " + messages[index].getSubject());

}

inbox.close(false);

store.close();

} catch (MessagingException exception) {

log(new BotException("Failed to access email: " + exception.getMessage(), exception));

} finally {

try {

if (inbox != null) {

inbox.close(false);

}

if (store != null) {

store.close();

}

} catch (Exception ignore) {}

}

return emails;

}

開發者ID:BotLibre,項目名稱:BotLibre,代碼行數:37,

示例32: checkEmail

​點讚 3

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Check the inbox for new messages, and process each message.

*/

public void checkEmail() {

try {

log("Checking email.", Level.INFO);

Store store = connectStore();

Folder inbox = store.getFolder("INBOX");

if (inbox == null) {

throw new BotException("Failed to check email, no INBOX.");

}

inbox.open(Folder.READ_WRITE);

Message[] messages = inbox.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));

inbox.setFlags(messages, new Flags(Flags.Flag.SEEN), true);

//Message[] messages = inbox.getMessages();

if ((messages != null) && (messages.length > 0)) {

log("Processing emails", Level.INFO, messages.length);

Network memory = getBot().memory().newMemory();

Vertex sense = memory.createVertex(getPrimitive());

Vertex vertex = sense.getRelationship(Primitive.LASTMESSAGE);

long lastMessage = 0;

if (vertex != null) {

lastMessage = ((Number)vertex.getData()).longValue();

}

long maxMessage = 0;

int count = 0;

// Increase script timeout.

Language language = getBot().mind().getThought(Language.class);

int timeout = language.getMaxStateProcess();

language.setMaxStateProcess(timeout * 2);

try {

for (int index = 0; index < messages.length; index++) {

if (index > (this.maxEmails * 2)) {

log("Max old email limit reached", Level.WARNING, this.maxEmails * 2);

break;

}

long recievedTime = 0;

if (messages[index].getReceivedDate() == null) {

log("Missing received date", Level.FINE, messages[index].getSubject());

recievedTime = messages[index].getSentDate().getTime();

} else {

recievedTime = messages[index].getReceivedDate().getTime();

}

if ((System.currentTimeMillis() - recievedTime) > DAY) {

log("Day old email", Level.INFO, messages[index].getSubject());

continue;

}

if (recievedTime > lastMessage) {

count++;

if (count > this.maxEmails) {

log("Max email limit reached", Level.WARNING, this.maxEmails);

break;

}

input(messages[index]);

Utils.sleep(100);

if (recievedTime > maxMessage) {

maxMessage = recievedTime;

}

}

}

if (maxMessage != 0) {

sense.setRelationship(Primitive.LASTMESSAGE, memory.createVertex(maxMessage));

memory.save();

}

} finally {

language.setMaxStateProcess(timeout);

}

}

log("Done checking email.", Level.INFO);

inbox.close(false);

store.close();

} catch (MessagingException exception) {

log(exception);

}

}

開發者ID:BotLibre,項目名稱:BotLibre,代碼行數:76,

示例33: getLastMailContentWithSubject

​點讚 2

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Get the content of the last message with the given subject.

*

* @param subject

* the subject

* @return the content of the last message with the given subject

*/

public String getLastMailContentWithSubject(String subject)

throws MessagingException {

// Download message headers from server.

int retries = 0;

String content = null;

while (retries < 40) {

// Open main "INBOX" folder.

Folder folder = getStore().getFolder(MAIL_INBOX);

folder.open(Folder.READ_WRITE);

// Get folder's list of messages.

Message[] messages = folder.getMessages();

// Retrieve message headers for each message in folder.

FetchProfile profile = new FetchProfile();

profile.add(FetchProfile.Item.ENVELOPE);

folder.fetch(messages, profile);

for (Message message : messages) {

if (message.getSubject().equals(subject)) {

content = getMessageContent(message);

}

}

folder.close(true);

if (content != null) {

return content;

}

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// ignored

}

retries++;

}

return "";

}

開發者ID:servicecatalog,項目名稱:oscm,代碼行數:48,

示例34: readPassAndKeyFromEmail

​點讚 2

import javax.mail.Folder; //導入方法依賴的package包/類

public String[] readPassAndKeyFromEmail(boolean delete, String userName)

throws MessagingException {

// Download message headers from server.

int retries = 0;

String userPass = null;

String userKey = null;

while (retries < 40 && userPass == null) {

// Open main "INBOX" folder.

Folder folder = getStore().getFolder(MAIL_INBOX);

folder.open(Folder.READ_WRITE);

// Get folder's list of messages.

Message[] messages = folder.getMessages();

// Retrieve message headers for each message in folder.

FetchProfile profile = new FetchProfile();

profile.add(FetchProfile.Item.ENVELOPE);

folder.fetch(messages, profile);

for (Message message : messages) {

if (message.getSubject().equals(MAIL_SUBJECT_USER_ACCOUNT_CREATED_EN)) {

String content = getMessageContent(message);

String userNameFromEmail = readInformationFromGivenMail(MAIL_BODY_USERNAME_PATTERN_EN, content);

if (userName.equals(userNameFromEmail)) {

userKey = readInformationFromGivenMail(MAIL_BODY_USERKEY_PATTERN_EN, content);

userPass = readInformationFromGivenMail(MAIL_BODY_PASSWORD_PATTERN_EN, content);

if (delete) {

message.setFlag(Flag.DELETED, true);

}

break;

}

}

}

folder.close(true);

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

// ignored

}

retries++;

}

return new String[] {userKey, userPass};

}

開發者ID:servicecatalog,項目名稱:oscm,代碼行數:47,

示例35: prepareMailbox

​點讚 2

import javax.mail.Folder; //導入方法依賴的package包/類

private void prepareMailbox() throws Exception {

// connect to mailbox

Mailbox.clearAll();

JavaMailSender sender = new DefaultJavaMailSender();

Store store = sender.getSession().getStore("pop3");

store.connect("localhost", 25, "bill", "secret");

Folder folder = store.getFolder("INBOX");

folder.open(Folder.READ_WRITE);

folder.expunge();

long twoDaysAgo = new Date().getTime() - 2 * 24 * 60 * 60 * 1000L;

long twentyHoursAgo = new Date().getTime() - 1 * 20 * 60 * 60 * 1000L;

long oneHourAgo = new Date().getTime() - 1 * 1 * 60 * 60 * 1000L;

// inserts 5 new messages

Message[] messages = new Message[6];

messages[0] = new MimeMessage(sender.getSession());

messages[0].setSubject("Apache Camel rocks");

messages[0].setText("I like riding the Camel");

messages[0].setHeader("Message-ID", "0");

messages[0].setFrom(new InternetAddress("[email protected]"));

messages[0].setSentDate(new Date(twoDaysAgo));

messages[1] = new MimeMessage(sender.getSession());

messages[1].setSubject("Order");

messages[1].setText("Ordering Camel in Action");

messages[1].setFrom(new InternetAddress("[email protected]"));

messages[1].setHeader("Message-ID", "1");

messages[1].setSentDate(new Date(twoDaysAgo));

messages[2] = new MimeMessage(sender.getSession());

messages[2].setSubject("Order");

messages[2].setText("Ordering ActiveMQ in Action");

messages[2].setHeader("Message-ID", "2");

messages[2].setFrom(new InternetAddress("[email protected]"));

messages[2].setSentDate(new Date(twentyHoursAgo));

messages[3] = new MimeMessage(sender.getSession());

messages[3].setSubject("Buy pharmacy");

messages[3].setText("This is spam");

messages[3].setHeader("Message-ID", "3");

messages[3].setFrom(new InternetAddress("[email protected]"));

messages[3].setSentDate(new Date(twentyHoursAgo));

messages[4] = new MimeMessage(sender.getSession());

messages[4].setSubject("Beers tonight?");

messages[4].setText("We meet at 7pm the usual place");

messages[4].setHeader("Message-ID", "4");

messages[4].setFrom(new InternetAddress("[email protected]"));

messages[4].setSentDate(new Date(oneHourAgo));

messages[5] = new MimeMessage(sender.getSession());

messages[5].setSubject("Spambot attack");

messages[5].setText("I am attaching you");

messages[5].setHeader("Message-ID", "5");

messages[5].setFrom(new InternetAddress("[email protected]"));

messages[5].setSentDate(new Date());

messages[5].setSentDate(new Date(oneHourAgo));

folder.appendMessages(messages);

folder.close(true);

}

示例36: getMessagesFromGreenMailFolder

​點讚 2

import javax.mail.Folder; //導入方法依賴的package包/類

/**

* Method implementing to get the messages in the given folder.

*

* @param folderName Name of the folder to get mails.

* @return Array of messages which contains inside the given folder.

* @throws MessagingException MessagingException when fail to read the message from given folder.

*/

private Message[] getMessagesFromGreenMailFolder(String folderName) throws MessagingException {

Properties properties = new Properties();

properties.put(EmailTestConstant.MAIL_IMAP_PORT, EmailTestConstant.MAIL_IMAP_PORT_VALUE);

Session session = Session.getInstance(properties);

Store store = session.getStore(STORE_TYPE);

store.connect(LOCALHOST, USER_NAME, PASSWORD);

Folder folder = store.getFolder(folderName);

folder.open(Folder.READ_ONLY);

Message[] messages = folder.getMessages();

if (store.isConnected()) {

store.close();

}

return messages;

}

開發者ID:wso2,項目名稱:carbon-transports,代碼行數:22,

示例37: copyMessages

​點讚 2

import javax.mail.Folder; //導入方法依賴的package包/類

public void copyMessages( String destFolder, Message msg ){

try{

Folder folderToUse = mailStore.getFolder(destFolder);

folderToUse.open( Folder.READ_WRITE );

Message[] list = new Message[1];

list[0] = msg;

folderToUse.appendMessages( list );

folderToUse.close(false);

setData( "succeeded", cfBooleanData.TRUE );

lastUsed= System.currentTimeMillis();

} catch (Exception E ){

setData( "errortext", new cfStringData( E.getMessage() ) );

setData( "succeeded", cfBooleanData.FALSE );

}

}

開發者ID:OpenBD,項目名稱:openbd-core,代碼行數:21,

示例38: openFolder

​點讚 2

import javax.mail.Folder; //導入方法依賴的package包/類

private void openFolder(Folder folder) throws MessagingException {

LOGGER.debug("open folder '{}'", folder.getName());

folder.open(Folder.READ_WRITE);

if (!folder.isOpen()) {

throw new IllegalStateException("folder is not open");

}

}

開發者ID:camunda,項目名稱:camunda-bpm-mail,代碼行數:11,

注:本文中的javax.mail.Folder.open方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值