(require 'epa) ;(require 'external-abook) ;(setq external-abook-command "pc_query -m '%s' | cut -f 1,2") (require 'nnir) (require 'bbdb) (bbdb-initialize 'gnus) (require 'gnus) (eval-after-load "message" '(progn (add-to-list 'message-mode-hook '(lambda () (define-key message-mode-map "\C-c\t" 'external-abook-try-expand))))) (require 'epa-file) (epa-file-enable) (setq epg-debug t) (setq mm-decrypt-option 'always) (setq mm-verify-option 'always) (setq mml-smime-use 'epg) (setq message-send-mail-function 'message-send-mail-with-sendmail) (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) (gnus-demon-add-handler 'gnus-demon-scan-news 5 t) (gnus-demon-init) ;(setq bbdb-ignore-some-messages-alist '(("To" . "admins@sieglitzhof.net"))) (setq user-mail-address "christoph@christoph-egger.org" user-full-name "Christoph Egger" mm-verify-option 'known mm-decrypt-option 'known gnus-buttonized-mime-types '("multipart/signed" "multipart/encrypted") gnus-select-method '(nntp "news.gmane.org") mail-user-agent 'sendmail-user-agent) ; bbdb-send-mail-style 'message) (add-hook 'kill-emacs-hook (lambda () (let ((gnus-interactive-exit nil)) (gnus-group-exit)))) (setq-default gnus-group-line-format "%P%M%S%m %4U/%-5y:%B%(%g%)\n" gnus-sum-thread-tree-false-root "" gnus-sum-thread-tree-indent " " gnus-sum-thread-tree-leaf-with-other "├► " gnus-sum-thread-tree-root "" gnus-sum-thread-tree-single-leaf "╰► " gnus-sum-thread-tree-vertical "│") (setq gnus-secondary-select-methods '((nnimap "Main" (nnimap-address "imap.siccegge.de") (nnimap-authenticator login) (nnimap-stream tls) (nnimap-logout-timeout 5.0) (nnir-search-engine imap) (nnimap-authinfo-file "/home/christoph/.imap-authinfo")) ;; (nnimap "UCSB" ;; (nnimap-address "mail.engr.ucsb.edu") ;; (nnimap-authenticator plain) ;; (nnimap-stream tls)) (nntp "USENET" (nntp-address "news.eternal-september.org") (nntp-authenticator plain) (nntp-stream ssl)))) (setq gnus-posting-styles '((".*" (organization "Privat") ("Gcc" "nnimap+Main:SENT") (address "christoph@christoph-egger.org")) ("debian.*" (organization "The Debian Project") (address "christoph@debian.org")) ("sh.*" (organization "Studentenwohnheim Sieglitzhof Netzteam") (address "christoph@sieglitzhof.net")) ("uni.ucsb" (address "siccegge@cs.fau.de")) ("fsi.*" (organization "Fachschaft Informatik, FAU Erlangen-Nürnberg") (address "siccegge@cip.cs.fau.de") ("reply-to" "fsi@cs.fau.de") ("cc" "fsi@cs.fau.de") (signature-file "~/.signature.fsi")) ("fsi.kif.orga" (organization "Fachschaft Informatik, FAU Erlangen-Nürnberg") (address "siccegge@cip.cs.fau.de") ("reply-to" "kif415-orga@fsi.cs.fau.de") ("cc" "kif415-orga@fsi.cs.fau.de") (signature-file "~/.signature.fsi")))) (mml-signencrypt-style "pgpmime" 'combined) (setq gnus-extra-headers '(To Cc Newsgroups Keywords List-Id Message-Id) nnmail-extra-headers gnus-extra-headers) (require 'mm-url) (defadvice mm-url-insert (after DE-convert-atom-to-rss () ) "Converts atom to RSS by calling xsltproc." (when (re-search-forward "xmlns=\"http://www.w3.org/.*/Atom\"" nil t) (goto-char (point-min)) (message "Converting Atom to RSS... ") (call-process-region (point-min) (point-max) "xsltproc" t t nil (expand-file-name "~/atom2rss.xsl") "-") (goto-char (point-min)) (message "Converting Atom to RSS... done"))) (ad-activate 'mm-url-insert) (defun my-crm114-learn () (interactive) (unless (gnus-buffer-live-p gnus-article-buffer) (error "No article buffer available")) (save-excursion (set-buffer gnus-article-buffer) (save-restriction (let ((commandsplit (split-string "ssh oteiza.siccegge.de /usr/share/crm114/mailreaver.crm -u /home/christoph/.crm114/")) (outbuf (get-buffer-create "*crm114 output*")) (spamflag (y-or-n-p "Is this spam? "))) (gnus-summary-toggle-header 1) (message-narrow-to-headers-or-head) (unless (re-search-forward "^X-CRM114-CacheID:" nil t) (error "No CRM144-CacheID header found")) (nconc commandsplit (if spamflag '("--spam") '("--good"))) (beginning-of-line) (if (zerop (apply 'call-process-region (point) (progn (end-of-line) (point)) (car commandsplit) nil outbuf nil (cdr commandsplit))) (progn (set-buffer outbuf) (goto-char (point-max)) (re-search-backward "^X-CRM114-Action: \\(.*\\)" nil t) (message (match-string 1)) (erase-buffer)) (error "Calling crm failed")))))) (define-key gnus-summary-mode-map (kbd "C-M-s") 'my-crm114-learn) (add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)