Konfiguracja Emacsa
Domyślna czcionka Emacsa jest brzydka dlatego możesz ją zmienić na np. DejaVu Sans Mono: Options --> Set Default Font --> DejaVu Sans Mono.
Możesz też zmienić domyślne kodowanie znaków utf-8 na iso-8859-2: Options --> Mule --> Set Language Environment --> European --> Polish
Książka adresowa
Książkę adresową w gnus można zrealizować za pomocą bazy BBDB, konfiguracja jest już zawarta w moim pliku .gnus. Najprostszym sposobem dodania kontaktu jest dodanie nadawcy maila poprzez wciśnięcie klawisza : (dwukropek). Nowy kontakt dodajemy poprzez przełączenie się do bufora BBDB (M-x bbdb Enter) i naciśnięcie klawisza c.
Filtrowanie spamu
Filtrowanie spamu realizuję za pomocą SpamFilter z pakietu SpamBayes. Najpierw należy ze strony: http://www.mail-archive.com/spambayes-dev@python.org/msg00539/flo-spambayes.el skopiować cały takst do pliku o nazwie flo-spambayes.el, nastepnie plik ten należy umieścić w lokalizacji gdzie Emacs ładuje pliki z rozszerzeniem el. W openSUSE jest to /usr/share/emacs/site-lisp. Odpowiednia konfiguracja też jest zawarta w moim .gnus.
Trenowanie spamu
Oznacz jako spam Bs
Oznacz jako nie spam Bh
I na koniec należy utworzyć w katalogu domowym:
mkdir tmp
cd tmp
touch spambayes-stderr
Moja konfiguracja .gnus:
(setq user-mail-address "jlitwinski@vp.pl")
(setq user-full-name "Jan Litwiński")
(setq gnus-select-method '(nntp "news.task.gda.pl" ))
(setq send-mail-function 'smtpmail-send-it)
(setq message-send-mail-function 'smtpmail-send-it)
(setq smtpmail-default-smtp-server "smtp.poczta.onet.pl")
(setq gnus-summary-thread-gathering-function
'gnus-gather-threads-by-subject)
(setq signature-file "~/.signature")
(setq gnus-visible-headers
'("^From:"
"^Newsgroups:"
"^Subject:"
"^Date:"
"^Followup-To:"
"^Reply-To:"
"^Organization:"
"^Summary:"
"^Keywords:"
"^To:"
"^[BGF]?Cc:"
"^Posted-To:"
"^Mail-Copies-To:"
"^Apparently-To:"
"^X-Gnus-Warning:"
"^Resent-From:"
"^X-Sent:"
"^X-Mailer:"
"^X-Newsreader:"
"^Content-Type:"
"^X-User-Agent:"
"^User-Agent:"
"^X-Diary"))
(add-to-list 'gnus-secondary-select-methods '(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
;; Make Gnus NOT ignore [Gmail] mailboxes
(setq gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
(add-to-list 'gnus-secondary-select-methods '(nnimap "netscape"
(nnimap-address "imap.aol.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
(require 'pop3)
(add-to-list 'gnus-secondary-select-methods '(nnml ""))
(setq gnus-permanently-visible-groups "mail")
(setq gnus-posting-styles
'((".*" (name "Jan Litwiński"))))
(setq mail-sources
'((file :path "/var/mail/janek")
(pop :server "pop3.poczta.onet.pl"
:port 110
:user "jlitwinski@vp.pl"
:password "xxx"
:connection ssl)))
(require 'smtpmail)
(setq smtpmail-smtp-server "smtp.poczta.onet.pl"
send-mail-function 'smtpmail-send-it
smtpmail-auth-credentials "~/.authinfo")
(setq nnmail-split-methods
'(
("mail.Arch" "^To:.*arch-general@archlinux.org")
("mail.Arch" "^Cc:.*arch-general@archlinux.org")
("mail.Fedora" "^To:.*users@lists.fedoraproject.org")
("mail.Fedora" "^Cc:.*users@lists.fedoraproject.org")
("mail.Kubuntu" "^To:.*<kubuntu-users.lists.ubuntu.com>")
("mail.Kubuntu" "^Cc:.*<kubuntu-users.lists.ubuntu.com>")
("mail.SuSE" "^To:.*opensuse@opensuse.org")
("mail.SuSE" "^Cc:.*opensuse@opensuse.org")
("mail.Trinity" "^To:.*trinity-users@lists.pearsoncomputing.net")
("mail.Trinity" "^Cc:.*trinity-users@lists.pearsoncomputing.net")
("mail.Ubuntu" "^To:.*ubuntu-users@lists.ubuntu.com")
("mail.Ubuntu" "^Cc:.*ubuntu-users@lists.ubuntu.com")
("mail.Ubuntu-pl" "^To:.*ubuntu-pl@lists.ubuntu.com")
("mail.Ubuntu-pl" "^Cc:.*ubuntu-pl@lists.ubuntu.com")
("Spam" "^X-Spambayes-Classification: spam; ")
("Nieznany" "^X-Spambayes-Classification: unsure; ")
("mail.Waldek" "^From:.*\\(jan.kowalski@wp.pl\\)")))
(require 'bbdb)
(bbdb-initialize)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-message)
(add-hook 'message-setup-hook 'bbdb-define-all-aliases)
(setq bbdb-complete-name-full-completion t)
(setq bbdb-completion-type 'primary-or-name)
(setq bbdb-complete-name-allow-cycling t)
(setq gnus-treat-display-smileys t)
(setq mm-text-html-renderer 'w3m)
(setq gnus-message-archive-group
'((if (message-news-p)
"nnml:Send-News"
"nnml:Send-Mail")))
(require 'flo-spambayes)
(setq flo-spambayes-filter-program "/usr/bin/sb_filter.py")
(setq flo-spambayes-logfile-for-filter-stderr "~/tmp/spambayes-stderr")
(add-hook 'nnmail-prepare-incoming-message-hook
'flo-spambayes-filter-buffer)
(define-key gnus-summary-mode-map "Bs"
#'(lambda () (interactive) (flo-spambayes-gnus-refile-as-spam t)))
(define-key gnus-summary-mode-map "Bh"
#'(lambda () (interactive) (flo-spambayes-gnus-refile-as-ham t)))
(define-key gnus-summary-mode-map "Bf"
#'(lambda () (interactive) (flo-spambayes-gnus-classify t)))
Moja konfiguracja pliku .authinfo do autoryzacji wygląda tak:
cat .authinfo
machine imap.gmail.com login jlitwinski@gmail.com password xxx port 993
machine smtp.gmail.com login jlitwinski@gmail.com password xxx port 587
machine pop3.poczta.onet.pl login jlitwinski@vp.pl password xxx port 110
machine smtp.poczta.onet.pl login jlitwinski@vp.pl password xxx port 25
machine imap.aol.com login netsjanek@netscape.net password xxx
Zamień xxx do swojej konfiguracji.