1. 配置安装 procmailr 和 getmail

///////////////////////////////// ignore the follow  /////////////////////////////////////////

$ mkdir mail-setup

$ cd mail-setup/

$ tar xpfv muttrc-out-of-box.tgz

$ cd .mutt/

$ rm muttrc-out-of-box.tgz
$ cd .mutt/
$ cd scripts/
$ cd ..
$ cd misc
$ cd ..
$ cd scripts/
$ vi bootstrapping-mutt.sh
$ ./bootstrapping-mutt.sh

$ cd .mail/
$ cd ..
$ rm .muttrc
$ cd .mail
$ cd ..
$ rm .lbdbrc
$ cat .mailcap
$ rm .mailcap

///////////////////////////////////////////////////////////////////

configure getmail

$ sudo apt install getmail
$ sudo apt install procmail
$ apt search getmail
$ sudo apt install getmail4
$ dpkg -L getmail4
$ getmail
$ mkdir .getmail
$ cd .getmail/
$ ls
$ cp ~/mail-setup/.mutt/misc/getmailrc.template.sample .
$ vi getmailrc.template.sample
$ getmail
$ mv getmailrc.template.sample getmailrc

$ cat ~/.getmail/getmailrc

 [retriever]
type = SimpleIMAPSSLRetriever
server = imapmail.company.com
port =
username = "CCR\name"
password = password
mailboxes = ("Inbox", "Conversation History", ) [destination]
type = MDA_external
path = /usr/bin/procmail [options]
read_all = false
verbose =
delete = false
delivered_to = false
received = false
message_log = ~/.getmail/getmail.intel.log

$ getmail
$ cd ..
$ ls

configure procmail

$ which procmail
$ mv mail-setup/.mutt/misc/procmailrc.sample .procmailrc
$ vi .procmailr
$ vi .procmailrc

$ cat ~/.procmailrc

 # http://gushue.net/mutt/procmailrc
# MAILDIR=$HOME/Mail
#DEFAULT=$MAILDIR/INBOX #completely optional
LOGFILE=$HOME/.getmail/procmail.log
YEAR=`date +%Y` # ----- check for existance of year's directory -----
: ic
* ? test ! -d $YEAR
| mkdir -p $YEAR && chmod $YEAR #:0hc
#* $^(Subject)${URGMATCH}
#| formail -x Subject | growlnotify --sticky --image $HOME/.mutt/misc/mutt-mine-icon.png ::
$YEAR/Inbox/

$ mkdir Mail

$ vi .getmail/getmailrc
$ getmail
$ getmail -v

add getmail in cron

$ crontab -e

$ crontab -l

* * * * * getmail

or

$ while true; do sleep 10; getmail; done &

2. 安装dovecot

$ apt search dovecot

$ sudo apt install dovecot-imapd

$ restart dovecot    # ubuntu use upstart.  but not find dovecot in init.d

$ cd /etc
$ cd dovecot/
$ ls
$ vi dovecot.conf
$ ll
$ vi conf.d/
$ vi dovecot.conf
$ cd conf.d/
$ ls
$ ll
$ vi 10-ssl.conf
$ vi 20-imap.conf
$ grep mail_loca *
$ vi 10-mail.conf
$ sudo vi 10-mail.conf
$ vi 10-mail.conf
$ grep passdb *
$ vi 10-auth.conf

查看状态

$ service --status-all |grep dove

$ dpkg -L dovecot-imapd

配置doveconf

$ doveconf -n

 # 2.2.: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.--generic x86_64 Ubuntu 14.04. LTS
mail_location = maildir:~/Mail/:LAYOUT=fs:INBOX=~/Mail//Inbox:INDEX=~/Mail/.dovecot/indexes:CONTROL=~/Mail/.dovecot/control
maildir_very_dirty_syncs = yes
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
driver = pam
}
protocols = " imap"
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
driver = passwd
}

$ doveadm

add

"mail_location = maildir:~/Mail/Boxes`:LAYOUT=fs:INBOX=~/Mail/Boxes/Inbox:INDEX=~/Mail/.dovecot/indexes:CONTROL=~/Mail/.dovecot/control"

to /etc/dovecot/conf.d/10-mail.conf

debug dovecot

http://www.anta.net/misc/telnet-troubleshooting/imap.shtml (can not open)

http://webcache.googleusercontent.com/search?q=cache:iGfa6OFcHGcJ:wiki.dovecot.org/TestInstallation+&cd=1&hl=zh-CN&ct=clnk&gl=us  (can not open)

https://wiki.dovecot.org/TestInstallation

telnet-troubleshooting imap.shtml

dovecot "Authentication failed"

3. 配置domainname

$ domainname

打造你的办公环境-email篇的更多相关文章

  1. 打造高效的工作环境 – SHELL 篇

    注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员 ...

  2. 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境

    写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...

  3. vagrant打造自己的开发环境

    vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低, ...

  4. git在工作中的用法总结-环境安装篇

    使用git有很长一段时间了 ,平时用到的时候都是直接google,经常用到的一些也记录在笔记中,但有时候笔记太多,实在是太乱了(其实是我太懒~ 哈?),找都要半天的时候还不如直接google,今天有空 ...

  5. 家用PC机打造VSphere5.1 测试环境:之部署VCenter Server 5.1

    家用PC机打造VSphere5.1 测试环境前言:实践出真知,同样学习VMware VSphere 的朋友,也需要不断的测试总结,再测试再总结只有不断的积累才能学好,但是动辄几万的服务器不是所有朋友都 ...

  6. 用固态U盘让你的办公环境随身移动

    有些人因为家中的电脑设备没有办公环境,或者是软件太多装起来麻烦,以及环境不同步等原因上下班总是背着电脑,其实大可不必,只要将系统装进U盘,就可以让你的办公环境随身移动.在公司时启动U盘系统工作,下班后 ...

  7. 打造高效前端工作环境 - tmux

    打造高效前端工作环境 - tmux 前言  现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...

  8. Ubuntu Desktop基本办公环境搭建

    Ubuntu Desktop基本办公环境搭建 一如前面所强调的, linux系统是面向开发人员友好的,而对office办公人员并不友好 . 如果是重度的office办公需求人员,不建议使用linux ...

  9. 使用 gulp 搭建前端环境入门篇(转载)

    本文转载自: 使用 gulp 搭建前端环境入门篇

随机推荐

  1. C++多态性中基类析构函数声明为虚函数

    在用基类指针指向派生类时, 在基类析构函数声明为virtual的时候,delete基类指针,会先调用派生类的析构函数,再调用基类的析构函数. 在基类析构函数没有声明为virtual的时候,delete ...

  2. 淘宝api 开发_获取用户信息

    string url = "http://gw.api.taobao.com/router/rest"; "; string appsecret = "fdf7 ...

  3. C/S与B/S

    C/S架构简要介绍 在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构: C/S架构是第一种比较早的软件架构,主要用于局域网内.也叫 客户机/服务器模式. 它可以分为客户机和服务器两层:第 ...

  4. Sql Server专题一:索引(下)

    首先这次的内容是全文索引,跟前面讲的其实没有多大关系 两种索引的功能和结构都是不同的,普通索引的结构主要以B+树和哈希索引为主,用于实现对字段中数据的精确查找,比如查找某个字段值等于给定值的记录,A= ...

  5. Oracle EBS-SQL (BOM-16):检查多层BOM.sql

    select rownum seq_num, lpad(to_char(level), decode(level, 1, 1, level + 1), '.') bom_level, bbm.ASSE ...

  6. optics matlab实现

    关于optics算法的一些基本概念,在此一一忽略. 先求得所有节点的核心距离,用cd矩阵表示: 然后对每个节点进行处理,这个时候不需要考虑该节点是不是核心对象,按顺序取节点,如果该拓展点是核心对象,处 ...

  7. java对象转json应clone,避免生成json串有问题

    今天因为一个java对象转json,搞了我一下午,在些记录一下: 是这样:我在strtuts2的action中调用services返回 Row: 26, 中国银行海鹰, 29, 东楼, 36, 1F ...

  8. VS2010中更改项目名称(转载)

    一.修改解决方案的名称:直接选择解决方案,右键重命名即可.

  9. node.js安装以及相关配置

    安装: 首先需要进行安装.关于如何安装Node.js,这里就不赘述了,可以直接参考官方的安装指南.安装到指定盘后(以下内容以D盘为例),就开始进行相关配置. 配置: 首先配置环境变量:我的电脑--&g ...

  10. OpenProcess() 函数

    方法名称:OpenProcess 位置:Kernel32.dll OpenProcess 函数用来打开一个已存在的进程对象,并返回进程的句柄. 使用外部函数首先需导入命名空间: System.Runt ...