如何搭建一个免费的邮件服务器,要可以对外通讯,ip和域名我都有了!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何搭建一个免费的邮件服务器,要可以对外通讯,ip和域名我都有了!相关的知识,希望对你有一定的参考价值。
先分享一个如何通过windows 自行搭建免费邮件服务器的方法。首先,安装POP3、SMTP组件。对windows server进行检查,看看是否安装了pop3服务和smtp服务组件,若未安装,则需要进行手动添加。
安装pop3服务组件:先必须以系统管理员身份登入到windows server系统中,再按步骤进行设置“控制面板→添加或删除程序→添加/删除windows组件”,完成后会弹出一个对话框“windows组件向导”,选“电子邮件服务”,再点击“详细信息”,这时会出现2个部分内容:pop3服务和pop3服务web管理。“pop3服务web管理”便于用户进行远程web方式管理邮件服务器,这方面有需求的可选择该项。
安装smtp服务组件:找到“应用程序服务器”,点击其中的“详细信息”按钮,然后点击“Internet信息服务(IIS)”进行详细信息查看,再选择“Smtp Service”,按确定。而用户若希望能用远程web管理邮件服务器,就一定要选择“万维网服务”中的“远程管理(html)”组件,待以上步骤都完成后,点击“下一步”,这样就可以进行pop3和smtp服务的安装配置了。
其次,配置pop3和smtp服务器。在进行smtp服务器配置前必须先完成pop3服务器的配置,这样才能搭建成功。pop3服务器:点击“开始→管理工具→pop3服务”,在弹出的窗口左栏选中pop3服务,然后点击右栏的“新域”按钮,弹出“添加域”对话框,在“域名”一栏中输入你的邮件服务器域名,就是邮件账户“@”后面的部分,例如@后面输入的um.net,再点击确定。这样就在Internet上注册了一个名为“um.net”的域名,且该域名在DNS服务器中设置了邮件交换记录,并将解析到windows server邮件服务器的IP地址上。邮件域创建完成后选中新建的“um.net”域,点击右栏的“添加邮箱”按钮,在弹出的对话框中的“邮箱名”中输入邮箱用户名,设置好密码,在点击确定,这样从创建邮件域到创建邮箱就完成了。
smtp服务器:以上步骤完成后,点击“开始→程序→管理工具→Internet信息服务(IIS)管理器”,在弹出的窗口中点击“默认smtp虚拟服务器”,再点击“属性”选项,从而进入到“默认smtp虚拟服务器”中,再切换到“常规”标签页,在“IP地址”下拉列表框中选择邮件服务器的IP地址,点击确定,这样一个小型邮件服务器就架设成功了。
最后,邮件收发及远程web管理。用户利用邮件客户端软件连接到邮件服务器就可以进行邮件收发工作了,在设置邮件客户端软件的pop3和smtp服务地址时,域名输入“um.net”即可。若要进行邮件服务器的远程web管理,在远端客户机中,打开IE浏览器,输入“服务器IP地址:8098”,在弹出的连接对话框中输入管理员用户名和密码,点击确定,就能登录到web管理界面了。
这也只适用于一些对邮件系统功能要求不多的企业。像简单的邮件收发,邮件存档管理这类常规需求能基本满足。垃圾邮件过滤、海外通信、邮件监控加密等功能是不具备的。
企业应如何选择合适的邮件服务器,重点还是看自身需求来量体裁衣。对信息安全或企业邮箱功能有更高要求的企业,建议使用专业的邮件服务器进行自建。在众多一线邮件服务器品牌中,U-Mail邮件服务器的性价比就相当不错。U-Mail是国内最早提出一次性购买终生免费升级的专业邮件系统服务商。内嵌顶级的反垃圾模块、安全邮件网关、以及独有的全球收发保证功能都无需再额外付费,且提供从安装、部署到维护一站式全程服务。相信方便、经济、高效、安全稳定的U-Mail邮件服务器,将是企业管理无忧的最佳选择。
参考技术A hMailServer 这个应该不错的
Mac 上装了Docker,但我的Docker服务怎么对外开放
参考技术A 使Docker提供对外服务的网络配置(桥接与端口)峰云,就她了。
前沿:
docker 启动容器后,如何对外服务? 希望大家看了这篇文章后有些帮助。
docker的有关网络问题没怎么搞清楚,请教 !
Docker生成的容器,一般会给你生成一个ip地址,这个ip地址是和docker0的地址是一个ip段的。
通过ip a命令 ,咱们可以看到docker0的ip和子网的范围 。 大家会发现除了docker0 还有一个vethc 数字的网卡,这个也算是虚拟网卡绑在桥接上的。
我们创建一个容器,并且暴露22端口。 这个22端口的意思是对外暴露了22端口,系统会从49000-49900端口范围内给你分配一个端口。
docker run 指明端口有两种的方式,一种是-P ,他是识别容器里的dockerfile声明的端口关系。 还有一个是-p 这个是小屁屁,他就可以直白点了。 比如 -p 6379,是对外暴露了6379。 6379:6379 是外面是6379,里面也是6379 。
root@dev-ops:~# docker run -d -p 22 --name="redis_test" rastasheep/ubuntu-sshd
ed7887b93aa452323ee96339d889bebc36ad25a479c660ba89e97d2c5869f105
root@dev-ops:~#
root@dev-ops:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ed7887b93aa4 rastasheep/ubuntu-sshd:latest /usr/sbin/sshd -D 7 seconds ago Up 7 seconds 0.0.0.0:49153->22/tcp redis_test
root@dev-ops:~#
原来我以为docker是写了一个socker做了端口的映射功能,看文档才知道,他就是调用了一个 iptable的端口映射。
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- localhost/16 !localhost/16
Chain DOCKER (2 references)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:49153 to:172.17.0.2:22
root@dev-ops:~#
有主机的ip,和容器的ip,那你还怕啥 ! 想映射什么,自己映射。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 172.31.0.23:80
docker之间的容器默认是互通的,也就是两个容器可以互相的通信。 如果想控制容器之间的通信,可以利用 docker 的 --icc 属性控制。
好了,我们在说下桥接的方式。 如果你觉得麻烦,每次都需要做端口的映射,或者是修改映射,那你可以考虑下用桥接网卡的模式。 貌似一些论坛上的牛人不太推荐用桥接,估计是为了安全的问题。 毕竟nat的话,对外是安全的,对外的服务也只是暴露出端口而已。 而桥接的话,会暴露ip出去。
暂停docker服务
sudo service docker stop
用ip命令使docker0网卡down掉
sudo ip link set dev docker0 down
删除网卡
sudo brctl delbr docker0
创建一个网卡 名字是bridge0
sudo brctl addbr bridge0
ip地址和子网
ip addr add 192.168.5.1/24 dev bridge0
启动桥接网卡
sudo ip link set dev bridge0 up
写入配置
echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
sudo service docker start
这样的桥接方式有个问题就是,他的ip是docker自己检测搞给你的,貌似不是dhcp获取空闲的,然后赋予给容器的。我昨天再次做测试的时候,有一个ip被占用的,但是他还是分喷给了一个被占用的ip地址。 这样的话就冲突了。 如果ip端和公司内部或者是线上重叠的话,可能会造成ip地址的冲突。 桥接后遇到ip地址冲突是个人结论 ,也可能是我这边环境导致的这类问题!
以上是关于如何搭建一个免费的邮件服务器,要可以对外通讯,ip和域名我都有了!的主要内容,如果未能解决你的问题,请参考以下文章