;;; sieve.el --- Utilities to manage sieve scripts
-;; Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+;; Copyright (C) 2001-2011 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
(insert "\n"))))
(defun sieve-open-server (server &optional port)
+ "Open SERVER (on PORT) and authenticate."
(with-current-buffer
- ;; open server
- (set (make-local-variable 'sieve-manage-buffer)
- (sieve-manage-open server))
- ;; authenticate
- (if (eq sieve-manage-state 'nonauth)
- (if (funcall (nth 2 (assq sieve-manage-auth
- sieve-manage-authenticator-alist))
- (current-buffer))
- (setq sieve-manage-state 'auth))
- (eq sieve-manage-state 'auth))))
+ (or ;; open server
+ (set (make-local-variable 'sieve-manage-buffer)
+ (sieve-manage-open server))
+ (error "Error opening server %s" server))
+ (sieve-manage-authenticate)))
(defun sieve-refresh-scriptlist ()
(interactive)