zoukankan      html  css  js  c++  java
  • 用Emacs收发邮件

    使用Emacs,将尽可能多的工作放到Emacs中来完成,这样可以提高工作效率。

    1、安装必要的LISP插件和程序

    $sudo apt-get install stunnel4

    $sudo apt-get install mew //邮件处理程序

    $sudo apt-get install w3m w3m-el //用于阅读HTML邮件

    2、编辑emacs配置文件

    ;; mew收发邮件配置
    (autoload 'mew "mew" nil t)
    (autoload 'mew-send "mew" nil t)
    (setq mew-use-cached-passwd t) 
    (setq mew-pop-delete nil)
     
    ;; Optional setup (Read Mail menu for Emacs 21):
    (if (boundp 'read-mail-command)
    (setq read-mail-command 'mew))
     
    ;;(setq mew-prog-ssl "/usr/bin/stunnel4")
     
    ;; Optional setup (e.g. C-xm for sending a message):
    (autoload 'mew-user-agent-compose "mew" nil t)
    (if (boundp 'mail-user-agent)
    (setq mail-user-agent 'mew-user-agent))
    (if (fboundp 'define-mail-user-agent)
    (define-mail-user-agent
     'mew-user-agent
     'mew-user-agent-compose
     'mew-draft-send-message
     'mew-draft-kill
     'mew-send-hook))
    (when (boundp 'utf-translate-cjk)
      (setq utf-translate-cjk t)
      (custom-set-variables
       '(utf-translate-cjk t)))
    (if (fboundp 'utf-translate-cjk-mode)
    (utf-translate-cjk-mode 1))
     
    ;;用w3m来读html格式邮件
    (setq mew-mime-multipart-alternative-list '("Text/Html" "Text/Plain" "*."))
    (condition-case nil
    (require 'mew-w3m)
      (file-error nil))
    (setq mew-use-text/html t)
     
    ;;mail account config
    (setq mew-config-alist
     '(
    ("default"
    (pop-server            "pop.126.com")
    (name                  "126")
    (user                  "chenbin512")
    (mail-domain           "126.com")
    (pop-auth              pass)
    (pop-user              "chenbin512@126.com")
    (smtp-user             "chenbin512@126.com")
    (smtp-server           "smtp.126.com")
    )
     
    ("gmail"
    (pop-server            "127.0.0.1")
    (pop-port              9959)
    (name                  "gmail")
    (user                  "chenbin512")
    (mail-domain           "gmail.com")
    (pop-auth              pass)
    (pop-user              "chenbin512@gmail.com")
    (smtp-user             "chenbin512@gmail.com")
    (smtp-server           "127.0.0.1")
    (smtp-port             4659)
    )
     
    ("163"
    (pop-server            "pop.163.com")
    (name                  "163")
    (user                  "pandachen512")
    (mail-domain           "163.com")
    (pop-auth              pass)
    (pop-user              "pandachen512@163.com")
    (smtp-user             "pandachen512@163.com")
    (smtp-server           "smtp.163.com")
    )
     )
    )
     
    ;;设置邮件签名档
    (setq mew-signature-file "~/Mail/signature")
    (setq mew-signature-as-lastpart t)
    (setq mew-signature-insert-last t)
    (add-hook 'mew-before-cite-hook 'mew-header-goto-body)
    (add-hook 'mew-draft-mode-newdraft-hook 'mew-draft-insert-signature)
     
    ;;设置邮件分类
    (setq mew-refile-guess-alist
     '(("To:"
    ("@126.com"                       . "+Mail/126")
    ("@gmail.com"                      . "+Mail/gmail")
    ("@163.com"                      . "+Mail/163"))
    ("Cc:"
    ("@126.com"                       . "+Mail/126")
    ("@gmail.com"                      . "+Mail/gmail")
    ("@163.com"                      . "+Mail/163"))
    (nil . "+inbox")))
     
    (setq mew-refile-guess-control
     '(mew-refile-guess-by-alist))
     
    ;;设置邮件显示栏目
    (setq mew-summary-form
     '(type (10 date) "      " (40 from) "    " t (0 subj)))
    (setq mew-summary-form-extract-rule '(name))
     
    注意:对于使用SSL/TLS加密连接的邮箱账户,pop-server和smtp-server需要配置成stunnel4服务器地址,如果stunnel4服务运行于本机,则地址为本机环回地址127.0.0.1

    3、邮件分类

    如果有多个邮箱,当然希望将各自的邮件归类到相应的邮箱中,方便阅读和查找,这就需要设置邮件分类规则(mew-refile-guess-alist)。通常按邮件账户分类比较常用,例如上面配置文件中的分类,当然也可以设置其它分类规则。

     1)邮件分类

    设置了上面例子配置文件中的邮件分类规则后,按i键收取邮件后,并不能自动分类。所有账户的邮件都首先收到Inbox中。这时需要需要按ALT+o执行分类规则,所有邮件都会打上o的标记,然后按x键,邮件就会被分类到各自的邮箱里,并从Inbox中删除。

     2)查看分类邮件

    邮件分类完成并从Inbox中删除后,要想查看某个邮箱的邮件,按g键,minibuffer提示输入邮箱目录,输入邮箱分类目录(比如+Mail/126)后即可查看分类好的邮件。

    4、配置stunnel4 

    对于采用SSL/TLS连接的邮件服务器,需要配置stunnel来提供加密连接,例如:gmail

    $sudo vim /etc/stunnel/stunnel.conf

    ; Protocol version (all, SSLv2, SSLv3, TLSv1)

    sslVersion = SSLv3

    ; Some security enhancements for UNIX systems - comment them out on Win32

    chroot = /var/lib/stunnel4/

    setuid = stunnel4

    setgid = stunnel4

    ; PID is created inside the chroot jail

    pid = /stunnel4.pid

    ; Some performance tunings

    socket = l:TCP_NODELAY=1

    socket = r:TCP_NODELAY=1

    ;compression = rle

    ; Some debugging stuff useful for troubleshooting

    debug = 7

    output = /var/log/stunnel4/stunnel.log

    ; Use it for client mode

    client = yes

    ; Service-level configuration

    [pop3s]

    accept = 995

    connect = 110

     

    [imaps]

    accept = 993

    connect = 143

     

    [ssmtp]

    accept = 465

    connect = 25

    ;;

    ;; gmail seting

    ;;

    [gmail-pops]

    accept = 9959

    connect = imap.gmail.com:995

     

    [gmail-imaps]

    accept = 9939

    connect = imap.gmail.com:993

     

    [gmail-ssmtp]

    accept = 4659

    connect = imap.gmail.com:465

    注:以上配置在ubuntu 12.04上测试通过

    5、邮件附件操作

    如果邮件带有附件,则在邮件条目上按回车键后,附件也会以条目的形式显示在邮件条目下方。如果邮件的附件比较大,mew并不会从邮件服务器上下载完整的邮件,它会在minibuffer区提示你邮件比较大,如果需要下载完整的邮件,请按I键。

    1)打开附件

    在附件条目上按回车键,会打开附件,例如:如果是图片会显示图片。如果需要调用程序打开,再按C-c C-e调用默认程序打开,比如pdf文件默认是xpdf,但我还没找到在emacs和mew中修改打开附件默认程序的方法,知道的告诉我。

    2)保存附件

    按y键后,会在minibuffer区提示输入保存路径。

    6、mew中常用命令和热键

    w                                 撰写新邮件

    a                                  回复邮件,不带引用

    A                                 回复邮件,带引用

    f                                   转发邮件

    r                                   重新发送邮件

    SPC或Enter              阅读邮件

    I                                    从邮件服务器下载完整的邮件(用于邮件较大的场合)

    y                                  保存文件(可以保存信件全文、信件正文、附件)

    M-o                            邮件分类

    M-s                            邮件排序

    d                                  删除邮件

    C-c C-l                       转换当前邮件的编码格式

    C-c C-e                      调用默认程序打开附件

    C-c C-a                      加入地址薄

    C-u C-c C-a              比 C-c C-a 多加入昵称和名字

    C-c C-q                      不保存退出

    C-c C-a                      准备插入附件

    mew-attach-copy     用复制方式加入附件

    mew-attach-link       用链接方式加入附件

    mew-attach-delete  删除附件

    C-c C-c                      发送邮件

    C-c RET                     保存邮件到发送队列

    C                                 如果设置了多个邮箱,用 C 命令切换

    Q                                 退出Mew

    鼠标中键      在浏览器中打开邮件中的链接

    7、Emacs收发邮件示例

    1)启动mew

    在emacs中,按ALT+X进入命令模式,输入mew回车,启动mew邮件插件。

    2)收邮件

    按i键,收取默认邮箱的邮件,接下来会提示输入POP邮箱密码,输入密码后即可从邮件服务器上下载邮件。
    如果有附件,按I键,下载完整的附件;
    如果附件过大,会提示按.键查看整个邮件,再在附件上按SPACE或回车,即可显示附件;
    按y键,提示输入路径和文件名来保存附件到本地。

    如果有多个邮箱,按C键切换到对应邮箱,再按i键收取。

    3) 邮件分类

    按i键收取的邮件都首先收到Inbox中。这时需要需要按ALT+o执行分类规则,所有邮件都会打上o的标记,然后按x键,邮件就会被分类到各自的邮箱里,并从Inbox中删除

    4)查看邮箱邮件

    按g键,输入邮箱目录,即可查看对应邮箱中的邮件。

    5)发邮件

    按C键切换到用于发邮件的邮箱;
    再按w写邮件,在To: 处输入收件人地址,在Subject:处输入邮件主题,然后输入邮件正文;
    如果有附件,按C-c C-a准备插入附件,然后按c以拷贝方式插入附件;
    最后按C-c C-c发送邮件,输入SMTP邮件发送服务器密码(通常和POP3收件箱密码一样,因为是同一台服务器),即可发送;若发送成功,在mini buffer会显示“Sending in background done.”。

    6)删除邮件

    按g切换到对应的邮箱;
    在要删除的邮件上按D键,可看到邮件前面增加了D标志,且颜色变红;
    最后再按x键,删除有D标志的邮件。

  • 相关阅读:
    《JAVA设计模式》之模板模式(Template)
    《JAVA设计模式》之策略模式(Strategy)
    《JAVA设计模式》之享元模式(Flyweight)
    《JAVA设计模式》之桥接模式(Bridge)
    《JAVA设计模式》之组合模式(Composite)
    《JAVA设计模式》之外观模式(Facade)
    《JAVA设计模式》之代理模式(Proxy)
    《JAVA设计模式》之装饰模式(Decorator)
    《JAVA设计模式》之适配器模式(Adapter)
    《JAVA设计模式》之原型模式(Prototype)
  • 原文地址:https://www.cnblogs.com/pandachen/p/4049602.html
Copyright © 2011-2022 走看看