рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЬреАрдореЗрд▓ рдЖрдкрдХреЛ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдХрд╛рд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ред
рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдПрдХ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреА рд╣реИ -
www.findbigmail.com , рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдЕрдкрдирд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХрд┐рд╕реА рдХреЛ рднреА рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЦрд╛рдВрдЪреЗ рдкрд░) рд▓рд┐рдЦреА рдЬреЛ "рдмрд┐рдЧ рдореЗрд▓" рд▓реЗрдмрд▓ рдмрдирд╛рддреА рд╣реИ рдФрд░ рдЗрд╕реЗ 4MB рд╕реЗ рдмрдбрд╝реЗ рд╕рднреА рдЕрдХреНрд╖рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреА рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдЖрдкрдХреЛ Gmail рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА, рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ "рдмрдбрд╝реЗ" рдИрдореЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ред
рдХреНрд▓рд╛рд╕рдкрд╛рде рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП,
рдпрд╣рд╛рдБ рд╕реЗ рдЬрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрджреЗрд╢ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдзреАрдорд╛ рд╣реИ (1-2 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб), рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдЬрд╛ рд░рд╣рд╛ рд╕рдВрджреЗрд╢ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдЯрдХ рдирд╣реАрдВ рд░рд╣реА рд╣реИред
рдореЗрд░реА рдорд╛рддреНрд░рд╛ (рд▓рдЧрднрдЧ 20,000) рдХреЗ рд╕рд╛рде рднреА рд╕рднреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рд╕рдВрджреЗрд╢ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪ (getSize ()) рд╕рдВрджреЗрд╢ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдПрдЧрд╛ред
рдЖрдк рдЗрд╕реЗ
рдкреНрд░реА-рдлрд╝реЗрдЪ рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдХреБрд▓ рд╕рдордп рдШрдЯ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ (рдФрд░ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ) (рдпрд╛рдиреА рдЖрдк рдпрд╣ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рд╡рд╣ рдмрд┐рд▓реНрдХреБрд▓ рдЬреАрд╡рд┐рдд рд╣реИ)
рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ: Gmail рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ copyMessages () рдХреБрдЫ рднреА рдХреЙрдкреА рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдПрдХ рд▓реЗрдмрд▓ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдореИрдВ рдПрдХ рд╕рдордп рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рди рдЪрд▓реЗ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдИ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛) рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ - рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдВ, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рди рдХрд░реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВ, рдЖрджрд┐ред рдХрд┐рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЦрддреНрдо рдХрд░ рджреЗрдВрдЧреЗ :)
IMAP рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВ - Gmail рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред
// Mark large email messages in Gmail by "Bim Mail" label. // (c) Pavel :) // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY
import java.security.NoSuchProviderException import javax.mail.*
final int BIG_MAIL_SIZE = 2 ** 22 //4Mb final String username = "xxx" final String password = "xxx"
Properties props = System.getProperties () props.setProperty ( "mail.store.protocol" , "imaps" ) props.setProperty ( "mail.imap.socketFactory.class" , "javax.net.ssl.SSLSocketFactory" ) props.setProperty ( "mail.imap.socketFactory.fallback" , "false" )
Folder all, big Store store
try { Session session = Session.getDefaultInstance ( props, null ) store = session.getStore ( "imaps" ) final String mailaddress = "$username@gmail.com"
store.connect ( "imap.gmail.com" , mailaddress, password ) def folderName = "[Gmail]/All Mail" all = store.getFolder ( folderName ) all.open ( Folder.READ_WRITE ) ;
println ( "Creating BigMail ..." ) big = store.getFolder ( "BigMail" ) if ( big.create ( Folder.HOLDS_MESSAGES )) println "Ok." else println "Failure. Already exists?"
big.open ( Folder.READ_WRITE ) ;
println "Downloading from folder $folderName ...." List<Message> messages = all.getMessages () println "Got ${messages.size()} messages"
int count = 0 messages.each { int size = it.getSize () ;
if ( size > BIG_MAIL_SIZE ) { println "$count: Big mail: ${it.getSubject()} (${it.getSize()})" all.copyMessages ([ it ] .toArray ( new Message [ 1 ]) , big )
} else { println count } count++
}
} catch ( NoSuchProviderException e ) { e.printStackTrace () ; System.exit ( 1 ) ; } catch ( MessagingException e ) { e.printStackTrace () ; System.exit ( 2 ) ; } finally { // Close connection all.close ( false ) big.close ( false ) store.close () }
|
Java2html
|