Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Connect to LDAP server
- Net::LDAP.open(
- :host => @ldap_host,
- :base => "#{@basedn}",
- :auth => {:method => :simple, :username => "mail=#{@mboxadmin_username}@#{@domain}", :password => @mboxadmin_password }
- ) do |ldap|
- # Get users
- ldap.search(:filter => "objectclass=person") do |user|
- begin
- username = user.omulauthid
- puts "--Logging on to IMAP server as: mboxadmin:#{@mboxadmin_username}:#{username}--"
- imap = Net::IMAP.new(@imap_host)
- imap.authenticate("LOGIN", "mboxadmin:#{@mboxadmin_username}:#{username}", @mboxadmin_password)
- imap.select(@junk_folder)
- count = imap.responses["EXISTS"][0]
- if (count > 1)
- puts "#{username} has #{count} spam messages..."
- # Get each message for the current user
- num = 1
- for msg in imap.fetch(1..count, ["RFC822", "UID"])
- puts "=> Processing message ##{num}"
- #`echo "#{msg.attr['RFC822']}" > message-#{username}-#{msg.attr["UID"]}`
- num += 1
- end
- else
- puts "#{username} has no Junk E-mail"
- end
- rescue Net::IMAP::ByeResponseError
- imap = Net::IMAP.new(@imap_host)
- rescue Net::IMAP::NoResponseError
- puts "WARN: Cannot get #{username}'s mailbox"
- ensure
- imap.close
- end
- end
- end
Add Comment
Please, Sign In to add comment