summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/net/imap.rb16
2 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index dd962f8988..c525bda998 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jul 30 12:38:22 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * lib/net/imap.rb (example): support starttls option.
+ [ruby-dev:41888]
+
Fri Jul 30 08:51:51 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* file.c (file_expand_path): home directory must be absolute.
diff --git a/lib/net/imap.rb b/lib/net/imap.rb
index 3404700297..fded6cc152 100644
--- a/lib/net/imap.rb
+++ b/lib/net/imap.rb
@@ -3471,15 +3471,17 @@ if __FILE__ == $0
$user = ENV["USER"] || ENV["LOGNAME"]
$auth = "login"
$ssl = false
+ $starttls = false
def usage
- $stderr.print <<EOF
+ <<EOF
usage: #{$0} [options] <host>
--help print this message
--port=PORT specifies port
--user=USER specifies user
--auth=AUTH specifies auth type
+ --starttls use starttls
--ssl use ssl
EOF
end
@@ -3510,6 +3512,7 @@ EOF
['--port', GetoptLong::REQUIRED_ARGUMENT],
['--user', GetoptLong::REQUIRED_ARGUMENT],
['--auth', GetoptLong::REQUIRED_ARGUMENT],
+ ['--starttls', GetoptLong::NO_ARGUMENT],
['--ssl', GetoptLong::NO_ARGUMENT])
begin
parser.each_option do |name, arg|
@@ -3522,26 +3525,27 @@ EOF
$auth = arg
when "--ssl"
$ssl = true
+ when "--starttls"
+ $starttls = true
when "--debug"
Net::IMAP.debug = true
when "--help"
usage
- exit(1)
+ exit
end
end
rescue
- usage
- exit(1)
+ abort usage
end
$host = ARGV.shift
unless $host
- usage
- exit(1)
+ abort usage
end
imap = Net::IMAP.new($host, :port => $port, :ssl => $ssl)
begin
+ imap.starttls if $starttls
password = get_password
imap.authenticate($auth, $user, password)
while true