本文整理匯總了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;未經允許,請勿轉載。