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标志的邮件。

  • 相关阅读:
    【Leetcode】【Easy】Remove Duplicates from Sorted List
    【Leetcode】【Easy】Pascal's Triangle II
    【Leetcode】【Easy】Pascal's Triangle
    【Leetcode】【Easy】Binary Tree Level Order Traversal II
    【Leetcode】【Easy】Binary Tree Level Order Traversal
    【Leetcode】【Easy】Maximum Depth of Binary Tree
    【Leetcode】【Easy】Minimum Depth of Binary Tree
    【Leetcode】【Easy】Balanced Binary Tree
    【Leetcode】【Easy】Symmetric Tree
    如何使用Action.Invoke()触发一个Storyboard
  • 原文地址:https://www.cnblogs.com/pandachen/p/4049602.html
Copyright © 2011-2022 走看看