zoukankan      html  css  js  c++  java
  • Ubuntu 18.04配置邮箱服务器(局域网)

    --------------------------------------------------------------------------------------Ubuntu 18.04配置邮箱服务器(局域网)--------------------------------------------------------------------------------------
    一、安装
      Ubuntu 18.04附带了systemd-resolve,需要禁用它,因为它绑定到53端口,与Dnsmasq端口冲突。
      运行以下命令以禁用已解析的服务:

    root@base:$ systemctl disable systemd-resolved
    root@base:$ systemctl stop systemd-resolved

      删除符号链接resolv.conf文件

    root@base:$ ls -lh /etc/resolv.conf

      53端口占用:

    root@base:$ lsof -i:53
    root@base:$ kill -9 pid

      安装:

    root@base:$ apt-get install dovecot-common dovecot-imapd dovecot-pop3d
    root@base:$ apt-get install postfix
    root@base:$ apt-get install dnsmasq

      对应服务:
      Postfix------Smtp(发送邮件)
      Dovecot------POP3/IMAP(接收邮件)
      Dnsmasq------nameserver(域名服务器)

    二、配置hostname

    root@base:$ vim /etc/hostname

      更改为:
      mail.coodyz.com
      重启后生效:

    root@base:$ reboot

    三、配置dnsmasq
     在hosts文件中增加 本地IP到域名映射

    root@mail:$ vim /etc/hosts
    192.168.254.128 mail.coodyz.com # `192.168.254.128`更改为Ubuntu本机局域网IP

     启动服务:

    root@mail:$ /etc/init.d/dnsmasq start

      将服务器的DNS服务器指向Dnsmasq服务器:

    root@mail:$ vim /etc/resolv.conf
    nameserver 127.0.0.1
    nameserver 8.8.8.8

      以上只是修改运行时文件,进行持久配置需编辑/etc/network/interfaces

      测试:

    root@mail:$ dig A mail.coodyz.com
    ; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> A mail.coodyz.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47993
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;mail.coodyz.com.    IN    A
    
    ;; ANSWER SECTION:
    mail.coodyz.com.    0    IN    A    192.168.254.128
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Fri Dec 20 16:42:17 CST 2019
    ;; MSG SIZE rcvd: 60

    四、配置postfix

    root@mail:$ vim /etc/postfix/main.cf

      参考配置:

    home_mailbox = Maildir/
    
    smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
    biff = no
    
    # appending .domain is the MUA's job.
    append_dot_mydomain = no
    
    # Uncomment the next line to generate "delayed mail" warnings
    #delay_warning_time = 4h
    
    readme_directory = no
    
    # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
    compatibility_level = 2
    
    # TLS parameters
    smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    smtpd_use_tls=yes
    smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
    smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
    
    # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
    # information on enabling SSL in the smtp client.
    
    smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
    myhostname = mail.coodyz.com
    mydomain = coodyz.com
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    myorigin = $mydomain
    mydestination = $myhostname, coodyz.com, mail.coodyz.com, localhost.coodyz.com, localhost
    relayhost =
    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    inet_protocols = ipv4
    
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_local_domain = $myhostname
    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks, reject_unauth_destination
    broken_sasl_auth_clients = yes
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth

      启动服务:

    root@mail:$ /etc/init.d/postfix start


    五、配置dovecot
      编辑Dovecot主配置文件:

    root@mail:# vim /etc/dovecot/dovecot.conf

      取消注释并配置

    listen = *
    protocols = pop3 imap
    mail_location = maildir:/home/%u/Maildir
    pop3_uidl_format = %08Xu%08Xv
    disable_plaintext_auth = no

      指定电子邮件客户端向Dovecot进行身份验证的方式:

    root@mail:# vim /etc/dovecot/conf.d/10-auth.conf
    auth_mechanisms = plain login

      指定用于存储电子邮件的文件夹:

    root@mail:# vim /etc/dovecot/conf.d/10-mail.conf
    mail_location = maildir:/home/%u/Maildir

      编辑Postfix SMTP身份验证配置文件:

    root@mail:$ vim /etc/dovecot/conf.d/10-master.conf

      注释文件中的以下几行

    #unix_listener auth-userdb {
    #mode = 0600
    #user =
    #group =
    #}

      并确保未注释以下内容:

    # Postfix smtp-auth
    unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
    }

      编辑POP3配置文件,并允许一些较旧的电子邮件客户端正确连接和传输::

    root@mail:$ vim /etc/dovecot/conf.d/20-pop3.conf
    pop3_uidl_format = %08Xu%08Xv
    pop3_client_workarounds = outlook-no-nuls oe-ns-eoh

      为了使Dovecot服务与Postfix服务一起使用,我们需要在Postfix配置文件中添加以下几行:

    root@mail:$ vim /etc/postfix/main.cf
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    smtpd_sasl_local_domain = $myhostname
    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks, reject_unauth_destination
    broken_sasl_auth_clients = yes
    smtpd_sasl_type = dovecot
    smtpd_sasl_path = private/auth

      重启服务:

    root@mail:$ /etc/init.d/postfix restart
    root@mail:$ /etc/init.d/dovecot restart

      测试服务功能:

    root@mail:$ telnet localhost 143
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS 
    AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready.
    root@mail:$ telnet localhost 110

      服务器启动时自启

    root@mail:$ update-rc.d dovecot defaults

      建立邮箱账户:

    root@mail:$ adduser ted
    Enter new UNIX password: ted
    Retype new UNIX password: ted
    passwd: password updated successfully
    Changing the user information for test
    Enter the new value, or press ENTER for the default
    Full Name []: 
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
    Is the information correct? [Y/n] Y

      重启服务:

    root@mail:$ /etc/init.d/dovecot restart

    六、使用测试
     注意:请确保两者在同一网段
     邮件服务器IP 192.168.254.128
     Windows XP 客户端IP 192.168.254.130

     使用outlook测试:
     工具->账户->添加

     

     

     

     

    在Ubuntu端查看:

    ted@mail:~$ cd ~/Maildir/new/
    ted@mail:~/Maildir/new$ ls
    1576825940.V801I10053cM500622.mail.coodyz.com
    1576826245.V801I100544M69814.mail.coodyz.com
    1576826459.V801I10054bM4159.mail.coodyz.com
    1576833962.V801I10055bM300307.mail.coodyz.com
    ted@mail:~/Maildir/new$ vim 1576833962.V801I10055bM300307.mail.coodyz.com

    参考链接https://www.linuxidc.com/Linux/2017-03/141392.htm

         https://computingforgeeks.com/install-and-configure-dnsmasq-on-ubuntu-18-04-lts/

         https://kyup.com/tutorials/install-dovecot/

         https://tecadmin.net/install-dovecot-on-ubuntu/

  • 相关阅读:
    一月5日
    使用Jenkins部署SpringBoot
    SpringBoot +Jpa +Thymeleaf 增删改查示例
    SpringBoot 整合 Shiro ——登录认证和权限管理
    SpringBoot 小技巧
    SpringBoot 如何测试打包部署
    SpringBoot 中MongDB的使用
    定时任务
    RabbitMQ详解
    Mybatis多数据源最简单解决方案
  • 原文地址:https://www.cnblogs.com/coodyz/p/12074485.html
Copyright © 2011-2022 走看看