邮件服务器_邮件服务器搭建 - CSDN
精华内容
参与话题
  • 搭建邮件服务器,过程非常简单

    万次阅读 多人点赞 2017-11-10 15:57:13
    搭建邮件服务器,过程非常简单,只需几个步骤即可。通常在Linux搭建邮件服务器是需要安装很多软件和配置文件的,所以我们可以使用一个开源邮件服务器软件来搭建的。

    搭建邮件服务器,过程非常简单,只需几个步骤即可。

    通常在Linux搭建邮件服务器是需要安装很多软件和配置文件的,所以我们可以使用一个开源邮件服务器软件来搭建的。

    准备一台服务器与系统

    • 云服务器或本地虚拟的服务器都可以。
    • 服务器需要能链接网络。
    • 安装centos6/7系统,需要全新干净的系统环境。

    配置系统

    检查swap是否已启动,如没启动需要配置启动swap。
    

    下载EwoMail邮件服务器

    在git下载EwoMail开源版
    git地址:https://gitee.com/laowu5/EwoMail
    
    EwoMail集成的软件:
    
    Postfix:邮件服务器
    Dovecot:IMAP/POP3/邮件存储
    Amavisd:反垃圾和反病毒
    Fail2ban:监控策略
    LNAMP:apache2.2,nginx1.8, mysql5.5,php5.4
    EwoMail-Admin:WEB邮箱管理后台
    Rainloop:webmail
    

    安装

    将安装包重新命名ewomail.zip
    解压安装
    
    unzip -o ewomail.zip
    cd EwoMail/install
    #需要输入一个邮箱域名,不需要前缀,列如下面的xxx.com
    sh ./start.sh xxx.com
    安装成功会出现“Complete installation”
    剩下只需要配置域名DNS即可使用了
    

    配置域名DNS

    域名DNS

    请参考上图DNS配置
    将mail.ewomail.cn 改成你的安装的域名,例如(mail.安装的域名)
    红色部分请改为你的服务器IP

    管理后台

    这里写图片描述

    管理后台用于管理你的邮箱和域名,可以无限添加域名和邮箱。
    地址:http://IP:8010 (IP是你的服务器公网IP)

    WebMail

    这里写图片描述

    WebMail用于登录邮箱,发送与接收邮件。

    结尾

    经过以上几个步骤,基本已经完成搭建一个邮件服务器了,使用过程中如果有什么问题可以留言给我

    展开全文
  • 从零开始邮件服务器搭建

    千次阅读 2018-04-07 18:53:32
    概念解释SPF:Sender Policy Framework,直译过来就是发件人保证框架.出现的主要原因是SMTP协议...如果邮件服务器收到了一封邮件,来自主机的IP是45.76.210.63并且生成发件人为yusengy@info.邮件服务器会去查询yusengy...

    概念解释

    SPF:Sender Policy Framework,直译过来就是发件人保证框架.出现的主要原因是SMTP协议的缺陷.XMTP中,发件人的邮箱地址是可以伪造的,因而SPF的出现就是防止伪造发件人.SPF的记录实际上就是DNS服务器上面的一个记录.如果邮件服务器收到了一封邮件,来自主机的IP是45.76.210.63并且生成发件人为yusengy@info.邮件服务器会去查询yusengy@info的SPF记录.如果SPF记录的IP为45.76.210.63,那么就认为是合法的,否则通常都会被退信.SPF记录一般如下.

    SPF记录
    SPF记录

    DKIM:DomainKeys Identified Mail.功能目的与SPF相似,主要是让收件人可以通过加密解密的方式来得知发件人是否是真实的.原理就是在电子邮件的开头插入一段签名,然后接收方通过从DNS查询得到公钥以后,以进行验证,与SSH的公钥和密钥类似.
    记录一般如下:

    DKIM公钥
    DKIM公钥

    PTR:反向域名解析,可以通过发件人的IP地址反向得知域名,也是一种用以判断发件人是否正常的方式.

    MUA:Mail User Agent.用户邮件代理,用户通过MUA接收发送邮件.例如Outlook, formail等.

    MTA: Mail Transfer Protocol.邮件传输代理,是SMTP的一种实现.常用的MTA有sendmail,Postfix.本例中使用Postfix.MTA仅仅负责邮件的传输,MDA负责把接收到的邮件保存在硬盘中.

    MDA: Mail Deliver Agent,邮件分发代理.负责将接收到的邮件保存在邮件服务器上.sendmail以及Postfix默认使用的MDA是procmail.

    MRA: Mail Receive Agent,邮件接收代理,用来实现IMAP,POP3协议,负责与MUA交互,将服务器上的邮件通过IMAP以及POP3传输给客户端.本例中使用的MRA是Dovecot.

    LMTP:Local Mail Transfer Protocol.本地邮件传输协议,是SMTP协议的扩展.本例中用与同一主机内邮件传输.

    Postfix:一个开源的MTA服务器,负责通过SMTP协议管理发送到本机的邮件以及由本机向外发送的邮件.与sendMail相似.现今流行的服务器套件例如Zimbra,IRedMail内部都采用Postfix作为MTA.

    Dovecot:一个开源的IMAP以及POP3服务器.通常工作是验证用户身份以及邮件的处理.

    MySQL:存取用户信息,监听的域名信息,用户邮箱地址以及登录密码等.

    邮件协议简述

    SMTP

    SMTP全称是Simple Mail Transfer Protocol,直译过来就是简单邮件传输协议, 由RFC5321定义.主要的工作就是把邮件信息从发件人的邮件服务器中传送到接收人的邮件服务器中,偶尔我们使用MUA来发送邮件的话,也承载传输用户邮件到发件服务器的功能, 因而也称作协议,顺带提一下,SMTP协议的出现是比HTTP还早的,最早在1982年中发布第一版的RFC.
    因而因为提出的年代久远,所以在当时有许多问题都考虑不全面并且也有这许多的限制,例如SMTP要求信息内容需要是7位的ASCII来承载,因而我们在发送以及接受的时候,都需要将其编码解码.
    另外,SMTP还存在一个问题就是没有对发送方进行一个身份验证,虽然在早期的互联网环境没有很大问题,但是在垃圾邮件满天飞的今天,这却是一个明显的短板.因而衍生出了SPF, DKIM, DMARC等一系列用来验证发件人身份的方法.

    POP3

    POP3,Post Office Protocol Version 3,直译就是邮局协议第三版,由RFC1939进行定义.这个协议的主要服务于用户管理邮件服务器上面的电子邮件.具体过程是:当外来邮件发送到收件人的邮件服务器上时,收件人可以使用邮件客户端连接邮件服务器,把未阅读的邮件服务器以及部分信息拉取回本地进行处理.在拉取的过程中,我们可以选择拉取完删除以及拉取完不删除两种方式,不过现在默认一般都是拉取完不删除,方便我们在其他的地方也能对邮件进行阅读以及管理.

    IMAP

    IMAP, Internet Message Access Protocol, 直译过来就是网络信息访问协议,可能和现在主流的翻译不太一致,不过能理解其意思就好.相对于pop3协议所有邮件的管理都需要下载下来进而管理,IMAP提供了用户远程访问邮件服务器的途径,因而通过IMAP,用户可以直接管理邮件服务器上的邮件.

    工作原理

    电子邮件架构

    邮件原理
    邮件原理

    这里我们使用的MTA是Postfix, MRA是Dovecot.我们可以绘制出邮件服务器接受邮件,用户查收邮件以及用户发送邮件的过程.

    邮件服务器接受收件

    假设yusen@Foxmail.com发送一封邮件到yusen@yusengy.info中.

    邮件服务器接受邮件
    邮件服务器接受邮件
    1. foxmail.com服务器会通过DNS查询到yusengy.info的MX记录,然后找到Postfix所在的服务器所在.
    2. 邮件通过SMTP协议发送给Postfix.
    3. Postfix通过MySQL查询,yusengy.info是否是本机需要处理的域名.
    4. MySQL通过查询返回确认信息给Postfix.
    5. Postfix得到确认信息,把邮件传送给Dovecot,由Dovecot的LMTP服务来说投递工作.
    6. Dovecot把邮件的内容保存在对应的路径中.

    用户查收邮件过程

    用户查收邮件过程
    用户查收邮件过程
    1. MUA向Dovecot请求IMAP连接.
    2. Dovecot发送自己的SSL证书.
    3. MUA发送用户的账号密码.
    4. Dovecot得到账号密码向MySQL查询.
    5. MySQL返回查询结果.
    6. 如果账号密码正确,Dovecot读取在改用户路径下的信息.
    7. 得到最新的邮件以及其他的一些统计信息.
    8. 通过IMAP协议发送给MUA.

    用户发送邮件的过程

    用户发送邮件过程.png-19.1kB
    用户发送邮件过程.png-19.1kB
    1. MUA请求Postfix建立SMTP连接
    2. Postfix发送SSL证书给MUA
    3. MUA发送账号密码给Postfix,请求验证
    4. Postfix请求Dovecot验证账号密码.
    5. Dovecot请求MySQL查询结果
    6. MySQL返回查询结果.
    7. Dovecot返回Postfix账号密码验证结果.
    8. Postfix返回MUA账号密码验证结果.
    9. MUA使用SMTP协议发送邮件到Postfix.
    10. Postfix把邮件进行发送.接下来的步骤参考前面服务器查收邮件的过程.

    邮件服务器搭建

    根据上面的几个示意图,我们已经基本了解了邮件发送,接收的一般流程以及每个组件在其中的职责.了解清楚以后,邮件服务器的搭建则会变得简单了许多,明白其中每一步的作用以及缘由.

    前期准备

    设置hostname

    CentOS7,可以通过hostnamectl set-hostname hostname命令设置hostname,并且修改hosts文件.这里域名是yusengy.info.

    hostnamectl set-hostname mail.yusengy.info
    

    为什么要设置hostname呢?因为一般情况下,Postfix在与其他的SMTP服务器进行通信的时候,会使用hostname来表名自己的身份.主机名有两种形式,单名字FQDN(Fully Qualified Domain Name).如果SMTP服务器不是用FQDN来表明身份,则有可能会被拒收.

    修改防火墙开放端口

    修改防火墙开发相应的端口,分别是25, 465, 587, 110, 995, 143, 993.

    域名解析配置

    域名解析配置
    域名解析配置

    安装Postfix, Dovecot以及数据库

    由于Centos中默认的源没有MySQL,因而使用MariaDB代替,实际使用与MySQL一致.
    首先更新系统yum update -y.把系统的一些组件更新到最新,然后需要修改一些CentOS的源设置,因为CentOS默认源里面的Postfix默认是不能和MariaDB协同工作的,因而我们需要安装扩展源里面的Postfix.
    修改: /etc/yum.repos.d/CentOS-Base.repo

    [base]
    name=CentOS-$releasever - Base
    exclude=postfix
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates
    exclude=postfix
    

    修改完毕以后,我们让扩展源生效,并且安装我们所需要的应用以及服务.

    yum --enablerepo=centosplus install postfix
    yum install dovecot mariadb-server dovecot-mysql
    

    接下来,我们配置MariaDB数据库来处理虚拟域名以及用户信息.

    数据库配置

    MariaDB的安装配置与MySQL有些许不同,MySQL是在安装的时候设置root的密码,而MariaDB则是在安装完毕后设置密码.
    首先我们启动MariaDB.

    systemctl enable mariadb.service
    systemctl start mariadb.service
    

    然后,我们进行一些初始化的配置.

    mysql_secure_installation
    

    输入mysql_secure_installation后,我们可以修改root用户的密码,禁止外部使用root登录,删除匿名账户以及删除test表等等.

    数据库概览

    创建mail数据库用以处理邮件相关的业务.并且创建邮件管理员.

    GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost' IDENTIFIED BY 'mys123123';
    GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'mail_admin'@'localhost.localdomain' IDENTIFIED BY 'mys123123';
    FLUSH PRIVILEGES;
    

    这里的mys123123替换成自己的密码.我这里只是做示范使用,实际中应该使用强度更大的字符串作为密码.

    数据库
    数据库

    mail数据库中一共有4个表,分别是虚拟域名, 邮件转发, 用户信息以及传输路径四个表..
    表格
    表格

    虚拟域名表

    该表存储的是本地服务器用来接收邮件的域名.


    虚拟域名表表结构
    虚拟域名表表结构

    创建语句

    CREATE TABLE domains (domain varchar(50) NOT NULL, PRIMARY KEY (domain) );
    

    邮件转发

    可以用来转发邮件.


    邮件发送表表结构
    邮件发送表表结构
    CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );
    

    用户表

    用来存储用户的账号密码.这里密码使用加密的方式进行存储.


    用户信息表结构
    用户信息表结构
    CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) );
    

    传输路径表

    传输表可以用来指定邮件的传输路径.


    传输表结构
    传输表结构
    CREATE TABLE transport ( domain varchar(128) NOT NULL default '', transport varchar(128) NOT NULL default '', UNIQUE KEY domain (domain) );
    

    在配置完数据库以后,我们最好修改数据库的配置文件,只允许本地访问数据库,提高安全性.
    修改: /etc/my.cnf

    bind-address=127.0.0.1
    

    如果数据库存储在其他的服务器上面,我们这里的bind-address地址在后面配置Postfix的时候需要相应的修改.不过为了安全起见,最好还是不要让数据库能够直接在外部可以访问.

    配置完成了以后,我们则可以重启数据,使配置生效.

    systemctl restart  mariadb.service
    

    配置Postfix

    配置完成了数据库以后,我们就需要配置Postfix,让其可以与MariaDB协同工作.因为Postfix寻找域名,用户账号等需要通过数据库来完成,但是其本身是不知道如何查询的,因而需要我们定制化.
    下面的配置中,把mys123123替换成前面数据库管理员设置的密码

    创建虚拟域名配置

    创建:/etc/postfix/mysql-virtual_domains.cf

    user = mail_admin
    password = mys123123
    dbname = mail
    query = SELECT domain AS virtual FROM domains WHERE domain='%s'
    hosts = 127.0.0.1
    

    创建邮件转发配置

    创建:/etc/postfix/mysql-virtual_forwardings.cf

    user = mail_admin
    password = mys123123
    dbname = mail
    query = SELECT destination FROM forwardings WHERE source='%s'
    hosts = 127.0.0.1
    

    创建虚拟邮箱配置

    创建: /etc/postfix/mysql-virtual_mailboxes.cf

    user = mail_admin
    password = mys123123
    dbname = mail
    query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
    hosts = 127.0.0.1
    

    创建电子邮件与文件映射

    创建:/etc/postfix/mysql-virtual_email2email.cf

    user = mail_admin
    password = mys123123
    dbname = mail
    query = SELECT email FROM users WHERE email='%s'
    hosts = 127.0.0.1
    

    创建完毕以后修改权限以及分配用户组.

    chmod o= /etc/postfix/mysql-virtual_*.cf
    chgrp postfix /etc/postfix/mysql-virtual_*.cf
    

    同时,我们创建一个新的用户组以及用户,用来处理邮件.所有的虚拟邮箱,都会存在这个用户的home目录下.

    groupadd -g 5000 vmail
    useradd -g vmail -u 5000 vmail -d /home/vmail -m
    

    接下来,我们对Postfix总体进行配置.把下面的mail.yusengy.info替换成你的hostname.如果你希望使用自己的SSL证书,则把/etc/pki/dovecot/private/dovecot.pem替换成你的证书路径.

    postconf -e 'myhostname = mail.yusengy.info'
    postconf -e 'mydestination = localhost, localhost.localdomain'
    postconf -e 'mynetworks = 127.0.0.0/8'
    postconf -e 'inet_interfaces = all'
    postconf -e 'message_size_limit = 30720000'
    postconf -e 'virtual_alias_domains ='
    postconf -e 'virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf'
    postconf -e 'virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf'
    postconf -e 'virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf'
    postconf -e 'virtual_mailbox_base = /home/vmail'
    postconf -e 'virtual_uid_maps = static:5000'
    postconf -e 'virtual_gid_maps = static:5000'
    postconf -e 'smtpd_sasl_type = dovecot'
    postconf -e 'smtpd_sasl_path = private/auth'
    postconf -e 'smtpd_sasl_auth_enable = yes'
    postconf -e 'broken_sasl_auth_clients = yes'
    postconf -e 'smtpd_sasl_authenticated_header = yes'
    postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
    postconf -e 'smtpd_use_tls = yes'
    postconf -e 'smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem'
    postconf -e 'smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem'
    postconf -e 'virtual_create_maildirsize = yes'
    postconf -e 'virtual_maildir_extended = yes'
    postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'
    postconf -e 'virtual_transport = dovecot'
    postconf -e 'dovecot_destination_recipient_limit = 1'
    

    修改Postfix配置,添加Dovecot服务.
    修改:/etc/postfix/master.cf

    dovecot   unix  -       n       n       -       -       pipe
        flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
    

    submission以及smtps部分给反注释了,让这部分代码生效.

    配置截图
    配置截图

    重启Postfix,至此,Postfix就基本配置好了.
    systemctl enable postfix.service
    systemctl start  postfix.service
    

    Dovecot配置

    修改:/etc/dovecot/dovecot.conf
    这里把域名yusengy.info替换成自己配置的域名.

    protocols = imap pop3
    log_timestamp = "%Y-%m-%d %H:%M:%S "
    mail_location = maildir:/home/vmail/%d/%n/Maildir
    
    ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
    ssl_key = </etc/pki/dovecot/private/dovecot.pem
    
    namespace {
        type = private
        separator = .
        prefix = INBOX.
        inbox = yes
    }
    
    service auth {
        unix_listener auth-master {
            mode = 0600
            user = vmail
        }
    
        unix_listener /var/spool/postfix/private/auth {
            mode = 0666
            user = postfix
            group = postfix
        }
    
    user = root
    }
    
    service auth-worker {
        user = root
    }
    
    protocol lda {
        log_path = /home/vmail/dovecot-deliver.log
        auth_socket_path = /var/run/dovecot/auth-master
        postmaster_address = postmaster@yusengy.info
    }
    
    

    因为数据库存储有用户的账号密码信息,Dovecot的职责之一就是验证用户的账号密码,因而我们还需要创建一个配置文件以让Dovecot与数据库进行交互.
    老惯例,这里也是把密码进行替换一下.
    创建:/etc/dovecot/dovecot-sql.conf.ext

    driver = mysql
    connect = host=127.0.0.1 dbname=mail user=mail_admin password=mys123123
    default_pass_scheme = CRYPT
    password_query = SELECT email as user, password FROM users WHERE email='%u';
    

    修改文件所属的用户组以及访问权限

    chgrp dovecot /etc/dovecot/dovecot-sql.conf.ext
    chmod o= /etc/dovecot/dovecot-sql.conf.ext
    

    设置Dovecot在开启启动并且启动其服务

    systemctl enable dovecot.service
    systemctl start  dovecot.service
    

    然后我们观察一下var/log/maillog,确定现在Dovecot没有错误

    Dovecot日志
    Dovecot日志

    然后我们使用Telnet检测一下pop3服务是否正常.

    yum install telnet
    telnet localhost pop3
    

    如果你看到的和我看到的差不多,那么说明是pop3服务是正常的.


    pop3服务
    pop3服务

    检测Postfix

    接下来则是检测Postfix是否运行正常.

    telnet localhost 25
    ehlo localhost
    

    如果连接成功,同时输入EHLO命令有如下返回值,则Postfix是正常的.

    Postfix测试
    Postfix测试

    创建用户

    接下来,我们在MariaDB中的邮箱中加入新的用户,用作日常邮件的发送.
    这里的用户密码不要使用明文存储.

    USE mail;
    INSERT INTO domains (domain) VALUES ('yusengy.info');
    INSERT INTO users (email, password) VALUES ('yusen@yusengy.info', ENCRYPT('123123'));
    quit
    

    到这个时候,我们的邮件服务器基本就已经搭建完成了,接下来只要使用MUA进行连接,就能像正常的邮件服务器一样使用了.

    MUA配置
    MUA配置

    尝试给自己的QQ邮箱发件看看.是不是收到了?


    邮件截图
    邮件截图

    如果被拒收或者在垃圾箱中,说明我们的邮件发送服务器信誉不够,这个时候我们需要给我们的邮件服务器做一些条件,例如添加SPF, DKIM以及DMARC等,以提高邮件发送的成功率,当这些完成以后,基本能够直接发送到收件箱了.具体可以参考这一篇文章
    邮件服务器添加SPF,DKIM,DMARC,PTR

    至此,一个邮件服务器的搭建就完成了,通过这一系列的操作,是否对于电子邮件协议又有了进一步的理解呢?
    如果没有在收件箱收到发送的邮件,可以在垃圾箱看看,或者看看是否退件了.这篇文章中我们没有谈到SPF, DKIM以及DMARC验证的配置,因而有可能会被QQ邮箱退件的,毕竟现实中的邮件服务器还需要一系列的配置,以提高送达率.这些我在后面会开一篇文章专门讲解.
    如果MUA提示发件失败,那么我们可以查看一下日志,分别在/var/log/maillog以及/home/vmail/dovecot-deliver.log,找到对应的错误,然后回到文章相应的地方看看是否配置错了.如果还无法解决,可留言私信,我看到了会进行相应的解答.



    出处:https://www.jianshu.com/p/610d9bf0ae8b
    展开全文
  • 搭建私人邮件服务器

    万次阅读 多人点赞 2019-05-24 14:26:54
    怎样使用本地服务器搭建一个邮箱,这样就可以脱离qq或者其他企业邮箱的限制,即可以做到节省成本,又可以得到收发邮件的一个保密性。 这里我们先展示一下本地搭建邮箱服务器后的成功例子: 可以看到,这里qq邮箱...

    怎样使用本地服务器搭建一个邮箱,这样就可以脱离qq或者其他企业邮箱的限制,即可以做到节省成本,又可以得到收发邮件的一个保密性。
    这里我们先展示一下本地搭建邮箱服务器后的成功例子:
    在这里插入图片描述
    可以看到,这里qq邮箱收到我这边发送的一个测试邮件例子(特别说明一下,这里的wordcap.top 是我自己购买的一个域名)
    同样qq也可以向我发送邮件:
    在这里插入图片描述

    怎样搭建一个属于自己的私人邮箱服务器了,我这里演示一遍:
    准备:
    一个顶级域名:国内国外的都可以,当然也可以不需要顶级域名,前提是这个域名需要解析到你的服务器ip上
    frp 内网穿透(包含公网ip的服务器):这个方便本地调试(如果不是很懂也可以查看上篇微信中内网穿透文章)
    邮件服务器:Linux上可以用iredmail,Windows是可以用hMailServer,由于我为了方便测试,所以我用的是Windows版本的。
    Linux安装方式(这里大家如果是用的Linux服务器可以用这个)
    官网(开源iredmail安装方式):
    https://docs.iredmail.org/install.iredmail.on.rhel-zh_CN.html

    1.安装软件
    下载Windows版本的hMailServer
    https://www.hmailserver.com/download
    双击运行安装

    1.1输入邮件登录密码
    在这里插入图片描述
    安装完成之后连接本地服务器:
    1.2添加一个主机域名:
    在这里插入图片描述
    1.3添加一个邮箱账号
    在这里插入图片描述

    1.4查看该邮箱服务器是否是启动状态:
    在这里插入图片描述
    1.5使用foxmail 测试一下:
    下载安装
    在这里插入图片描述
    运行后手动配置(手动设置,设置密码等等):
    在这里插入图片描述
    1.6本地写封邮件测试:
    在这里插入图片描述
    本地虽然发送成功,但是收到腾讯的处理消息:
    在这里插入图片描述

    2.配置软件需要环境
    由于我们的ip地址是动态的,不是固定的所以受到限制
    2.1配置域名解析到服务器IP上
    这里我们为了方便测试,在某平台上花了9块人民币购买了一个域名,并配置了二级域名和解析地址:
    在这里插入图片描述

    2.2配置内网穿透文件
    同时为了方便测试,我们用内网穿透工具frp在本地进行测试:
    首先我们测试一下,端口在不符合常规邮件端口的情况下能否收到邮件:
    我们修改成这样:
    在这里插入图片描述
    2.3测试
    试着用qq发送邮件:
    在这里插入图片描述
    显示已经发生成功,但是我们查看邮件时却并未收到任何邮件
    在这里插入图片描述
    在这里插入图片描述
    2.4准确配置邮件监听端口
    我们监听一下25这个端口(收邮件端口并不进行修改):
    在这里插入图片描述
    2.6重新测试
    再重新写一封,我们发现通过25这个端口是可以接收到邮件的:
    在这里插入图片描述

    我们试着给qq发送一封小邮件:
    在这里插入图片描述
    发现也可以正常的收到
    所以,设置邮件服务器端口和我平常设置网页不一样,平常http接口可以通过url后缀进行修改端口号,但是邮件服务器端口都是指定的
    2.7使用代码实现注册邮件激活功能
    我们现在试着用代码测试一下发送一个激活邮件的功能(这里我是用的是spring boot 框架):
    代码如下(虽然可以配置spring boot yml 文件,但是测试时我这边使用的是代码,大家实际运用是改动一下就可以了):

       @Test
        public void sendSimpleMail() throws Exception {
            //手动创建的实例的属性和配置文件中的大致相同
            JavaMailSenderImpl sender=new JavaMailSenderImpl();
            sender.setDefaultEncoding("utf8"); //编码
            sender.setHost("mail.wordcap.top");//163 smtp服务器
            sender.setPort(25); //端口
            sender.setUsername("test@mail.wordcap.top"); //邮箱
            sender.setPassword("123456");//授权码
            sender.setProtocol("smtp"); //协议
            //配置额外属性
            Properties properties=new Properties();//额外设置的属性
            properties.setProperty("mail.smtp.auth", "true");//是否需要验证
            properties.setProperty("mail.smtp.timeout","2000");//超时
    //    properties.setProperty("mail.smtp.ssl.enable", "true");//ssl加密
    
    
            properties.setProperty("mail.debug", "true");//是否显示调试信息(可选测试用)
            properties.setProperty("mail.transport.protocol", "smtp");//协议
            properties.setProperty("mail.smtp.auth", "true");//设置用户验证
            properties.setProperty("mail.smtp.timeout","250000");//超时时间
            properties.setProperty("mail.smtp.connectiontimeout","250000");//超时时间
    
    
            sender.setJavaMailProperties(properties);
    
    
            SimpleMailMessage message = new SimpleMailMessage();
            message.setFrom("test@mail.wordcap.top");
            message.setTo("2562957962@qq.com");
            message.setSubject("测试");
            message.setText("你的注册链接激活地址为 http://user.wordcap.top?m=678giyiy756gqwehoudas9f8heuqy9w8ehfashuihuwiqerhhd154845jdaskljgadjlfjaslfjasl0ewqnjngvjk");
            sender.setJavaMailProperties(properties);
            sender.send(message);
    
        }
    

    运行之后,qq上直接收到这封邮件:
    在这里插入图片描述
    在这里插入图片描述

    本地编译器输出如下:
    在这里插入图片描述

    测试完毕感觉还是不错的。

    展开全文
  • Windows Server2012搭建邮件服务器

    万次阅读 多人点赞 2017-05-15 22:38:34
    要搭建邮件服务器,需要在服务器上配置 SMTP 和 POP3 服务,SMTP 服务负责发送邮件,POP3服务负责接收邮件。   在 Windows Server 2003 中提供了POP3 服务组件,但是到了 Windows Server 2012 中,POP3 组件已经...
    

    要搭建邮件服务器,需要在服务器上配置SMTP POP3服务,SMTP服务负责发送邮件,POP3服务负责接收邮件。

     

    Windows Server 2003中提供了POP3服务组件,但是到了 Windows Server 2012中,POP3组件已经不再是系统功能中的

    一项,只有 SMTP服务了,所以这里我们使用 Windows Server 2012自带的 SMTP服务配合一个第三方的 POP3服务搭建我

    们的邮件服务器。

     

    我们首先在Microsoft Azure中国区创建一台 ARM虚拟机,系统选择 Windows Server 2012,先不选择网络安全组。如果

    使用其他云平台或者本地服务器,则注意在防火墙中放行我们后面用到的 SMTP POP3端口即可。

     

    接着我们来搭建SMTP服务器,在服务器管理器(Server Manager)中选择“添加角色/功能”(Add Rolesand Features):

    Server Manager Dashboard WELCOME TO SERVER MANAGER Dashboard Local Server All Servers Manage Tools View Help Add Roles and Features Remove Roles and Features Add Servers Create Server Group O Configure Server Manager Properties File and Storage Services io IIS QUICK START 2 3 WHAT'S NEW 4 5 N MORE Add roles and features Add other servers to manage Create a server group Connect this server to cloud servi

     

    在弹出的“添加角色/功能”向导中找到功能(Feature)中的 SMTP Server 一项,勾选后会提示需要安装一些依赖的组

    件,确认即可:

    Select features Before You Begin Installation Type Server Selection Server Roles Web Server Role (IIS) Role Services Confirmation Add Roles and Features Wizard Select one or more features to install on the selected server. RAS Connection Manager Administration Kit (C Remote Assistance Remote Differential Compression Remote Server Administration Tools RPC over HTTP Proxy Simple TCP/IP Services SMS I.O/CIFS File Sharing Support (Installed) SMS Bandwidth Limit SMTP Serve SNMP Sevice Telnet Client Telnet Selver TFTP Client user Interfaces and Infrastructure (2 of 3 installe DESTINATION SERVER Description SMTP Server supports the transfer of e-mail messages between e-mail systems. Cancel

     

    安装完成后,在开始菜单中找到6.0版本

    Search Everywhere v Internet Information Services (IIS) Manager Internet Information Services (IIS) 60 Manager

     

    打开后,展开 SMTPVirtual Server,添加一个新的 Domain

    Internet Information Services (IIS) 6.0 Manager File Action View Window Help Internet Information Services DANSERVER2012 (local computer) [SMTP Curr Domain Nam Domain... Type Local (Default) New Window from Here Refresh Export List... Help

     

    新的Domain我们选择Alias,即为我们本机的域添加一个别名:

    New SMTP Domain Wizard Welcome to the New SMTP Domain Wizard use this wizard to create a new domain on this SMTP virtual server Specify the domain Type @ Alias Back

     

    这一步我们需要填写我们自己的公网域名(这个域名会作为我们后续使用的邮箱后缀使用):

    New SMTP Domain Wizard Domain Name What is the address space of mail that is to be received by this domain? (For example microsoft com) 2draamcomcn

     

    接着我们配置 SMTPVirtual Server属性:

    Internet Information Services (IIS) 6.0 Manager File Action View Window Help Internet Information Services DANSERVER2012 (local computer) Domains [SMTPVi Doma Curre Start Stop Pause View New Window from Here Rename Refresh Export List... Properties Help

     

    从安全性考虑,修改SMTP服务的侦听端口为60025

    [SMTP Virtual Server #1] Properties General Access Messages Delivery LDAP Routing Security Fully-qualified domain name Dan Server2012 IP address: (Al Unassigned) r Limit number of connections to Connection time-out (mnutes) Enable Bgg'ng Active log format: W3C Log File Format Advanced Configure multiple dentities for this vinual server Address: IP %dress fAI Unassigned: TCP Port Properties m *ppb'

     

    在连接控制(Connection control)和中继限制(Relay restrictions)中添加允许的客户端IP地址(如果想全部放行,

    就选择Allexcept the list below):

    [SMTP Virtual Server #1] Properties General Access Messages Delivery LDAP Routing Security Edit the authentication methods for this resource TLS is not available without a certificate encryption Grant or deny access to this rasouce using IP addresses or Intamat domain names Relay restrictions Grant or deny permissions to relay snail through this SMTP virtual server Relay

    Connection Select which computers may access this virtual server Only the list below Al except the list below Computers Granted Granted IP Address Remove / Domain Name

    Relay Restrictions Select which computer may relay through this Vitual server Only the list below Al except the list below Computers IP Address Granted Granted Remove / Domain Name r Alow all computers which successfully authenticate to relay. regardless of the ist above

    其他选项暂时可以保持默认,点击确认保存设置。

     

    接着我们搭建POP3邮件服务器,这里我们选择Visendo SMTPExtender,一个免费的第三方POP3服务器。

    下载地址:https://visendo-smtp-extender-plus.en.softonic.com/

     

    使用默认选项安装即可,安装完成后,首先创建一个邮箱账号:

    Settings 8:) Accounts Advanced 'O Support Info Update Visendo SmtpExtender Plus v1.1.2.637 Demo x64 Accounts Account IT4ew Account: Mails Size (KB) O Mails. 000 KB

     

    邮箱后缀写我们的自定义域名:

    Visendo SmtpExtender account wizard Choose single account to receiva anails for ona address only A domain account collects anailsfor all addresses of a domain O account The recipient S enail address is also used as user name for PO 93 login E-Mail address daniaI@2dreamcomcn < Back jeFnsh—sÅ —Cancel—h

     

    接着配置POP3服务端口号以及Email Drop Folder

    Visendo SmtpExtender Plus v1.1.2.637 Demo x64 Settings Accounts Advanced "O Support Info Update Advanced Use following IP Email drop folder (Cannot bind to localhost / 127 0 0 1) SM TP is monitoring this folder moving em' files to their respective account folders C] Do not process emails if Oast file change) older than O days Settings path O hours Config files are saved here Ing files are created in the subfolder ' 'logs" logging level medium Advanced Settings E- Mail Header Fields

     

    启动服务:

    Visendo SmtpExtender Plus v1.1.2.637 Demo x64 Settings 8:) Accounts Advanced 'O Support Info Update Settings Service status Running

    完成后确认关闭。

     

    接着需要给这台Server添加一个公网的DNS名称(这里这个DNS名称不是必须的,如果你的MX记录使用指向的是这台虚拟机的公网IP地址的话,就不需要这里为其配置DNS名称了)

    DanServer2012-ip Search (Ctr/+D IP 2471 '*95 IP ±Ripconfig1 42.159.247.124 4 DNS • danmail .chinaeast.cloudapp.chinacloudapi .cn

     

    在自定义域名的地方添加一条MX记录:

    TTL MX danmail.chinaeast.cloudapp.chinaclou dapi.cn

     

    完成后,在 Outlook客户端中配置 POP/SMTP邮箱:

    Ellen Adams ellen@contoso.com Internet

     

    选择POP类型:

    o Microsoft Exchange Server C) Outlook.com Exchange ActiveSync @ POP IMAP(P) BEJ POP IMAP

     

    配置账户信息:

    POP 'MAP RFE(U): daniel daniel@2dream.com.cn pops danmail .chinaeast.cloudapp.l danmail .chinaeast.cloudapp.l daniel@2dream.com.cn

     

    配置POP3 SMTP端口信息:

    | nternet 电 子 白 阝 件 讠 殳 置 常 规 发 送 器 高 級 服 器 囗 号 接 器 (POP 995 使 用 默 认 ( D ) 囗 此 服 器 要 求 加 SSL ) ( E ) 发 送 器 ( SMT 0 ) : 60 巾 5 使 用 以 下 加 型 ( C) : 服 器 超 田 長 1 分 在 器 上 保 的 副 ( L ) 天 舌 服 器 上 的 副 ) 14 囗 ' 已 耸 · . 同 服 器 上 的 副 ( M )

     

    测试完成:

    祝 鹫 您 ! 已 完 有 试 。 适 望 击 ' 关 到 . 继 。 丿 登 录 到 身 妾 收 # 服 务 器 〔 ) 丿 发 送 试 毛 子 0 # 0 停 止 〔 S 〕 0 〔 0

     

    测试邮件发送功能:

    2017/3/20 23:27 daniel <daniel@2dream.com.cn> test 'killerhx@126.com' test

     

    test daniel 23:27 test

     

    接收邮件:

    计算机生成了可选文字:笞 复 至 都 笞 复 转 发 2017 / 釤 20 〔 周 一 〕 2 引 49 killer «killerhx@126 om > Re:test 收 # 人 damel O 如 果 显 丁 此 葺 # 的 方 有 闫 题 , 舀 此 处 以 在 Web 浏 览 器 中 音 该 # At 2017 一 03 一 20 23 〕 27 〕 12 'daniel" <0旦n壟!@2豇e旦m壟Q_m工0> wrote. t e s t

    展开全文
  • 邮件服务器配置

    万次阅读 2018-08-10 20:09:31
    邮件服务器 postfix 仅提供 smtp 服务,不提供 pop3 和 imap 服务,主要是用发送和接收邮件的(接收到的邮件后,一般转交 dovecot 处理,dovecot 负责将 postfix 转发过来的邮件保存到服务器硬盘上) dovecot 仅...
  • 邮件服务器

    2014-10-23 17:08:07
    邮件服务器 1、redhat6版本以后默认安装postfix,本机使用的是redhat6.4,所以使用的postfix邮件服务器 2、配置环境:DNS、postfix(接收邮件)、dovecot(转发邮件)、thunderbird邮件客户端软件、squirrelmail(网页...
  • 邮件服务器的搭建

    2020-10-08 18:18:22
    本文主要介绍了邮件服务器的搭建
  • 提供:ZStack云计算 内容简介在立足于自有域名建立网站或者应用程序时,大家很可能需要一套邮件服务器来处理域内的往来电子邮件。虽然运行自己的邮件服务器完全可行,但出于多种实际理由,我们并不推荐选择这种作法...
  • 首先安装DNS服务器用来解析邮件的域 新建域 再建立反向区域
  • 接收邮件服务器指的是pop3地址,如果其他邮箱是XX@126.com ,你填POP.126.com试下
  • 一般地 邮箱 POP3 服务器(端口110) SMTP 服务器(端口25)微软邮件系统的设定参数如下:接收邮件服务器 (POP3):pop3.live.com 端口: 995 要求安全连接 (SSL)发送邮件服务器 (SMTP):smtp.live.com 端口:587或...
  • 在outlook2010中设置好多个邮件后,收到的邮件在outlook2010上删除了,但是在服务器端默认还没有删除,这和以前版本的outlook express不一样了。以前网络上的存储资源稀缺,所以默认在outlook中删除后,网上...
  • 用outlook管理qq邮件时,可能会遇到无法登陆问题: 可能的错误之一是:在配置账号密码时,不是输入邮箱的登陆密码,而是要输入qq邮箱中 提供的授权码: 这样问题即可解决!
  • 各类邮箱服务器地址

    万次阅读 2018-07-20 19:43:29
    各类邮箱服务器地址 一般地,邮箱 POP3 服务器(端口110) SMTP 服务器(端口25)。 163免费邮箱 126免费邮箱 网易其他邮箱 ...163免费邮箱邮件服务器地址 项目 地址 接收邮件(pop、IMAP或...
  • 由于企业的需要,我们很可能需要架设一个邮件服务器,微软的Exchange太复杂?GOOGLE出来的又收费!头大了吧,OK,贾芸斐在这里给大家分享推荐几个免费的开源的邮件服务器软件。希望你能用得着,有什么问题,欢迎留言...
  • 电子邮件工作原理

    万次阅读 2014-02-06 22:26:05
    SMTP 是建立在 TCP上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。 2. POP(Post Office Protocol)
  • IOS 11.1 设置-账户与密码 选择发不出邮件的账户,点开  ...选择 发件服务器的 SMTP 点开 设置一下用户名+密码 点击 完成 点击完成后,会出现一排✔️ 完成。
  • 电子邮件发送协议主要是SMTP,收件协议主要是POP3和IMAP; SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到...SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。 ...
  • Linux搭建SMTP发送邮件服务器

    万次阅读 2017-11-12 00:13:02
    该例子使用的是Centos6系统作为SMTP邮件服务器其他的发行版配置基本一样,只是命令会有些不同
  • 常见邮件服务器(接收服务器和发送邮件服务器)地址 ,平时设置ootlook的时候可以查看。 腾讯QQ邮箱 接收服务器:pop.qq.com 发送服务器:smtp.qq.com  网易126邮箱 接收服务器:pop3.126.com ...
1 2 3 4 5 ... 20
收藏数 382,805
精华内容 153,122
关键字:

邮件服务器