1、国内的邮件服务提供商:
亿业科技 http://ui.easeye.com.cn/wiki/index.php/Webservice方法-SendMailListRequestByGroup接口
EwoMail.com 深圳智沃科技有限公司
2、开源方案:
Postfix+Amavisd+ClamAV+SpamAssassin 能够知足通常的需求,是比较简单的邮件反垃圾病毒解决方案。
*** MX记录:MX记录存在于域名的 DNS文件中,用于将某个域名的电子邮件指向到对应的邮件服务器处理。
*** A记录:是用来指定主机名(或域名)对应的IP地址记录。
3、你须要知道的软件及功能:
***postfix: IBM的GPL协议之下开发的MTA(邮件传输代理)软件。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。主要竞争对手Exim,Qmail。
***Nginx:一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
smtp:知道smtplib.SMTP里发生了什么,须要怎么样的邮件parts,尝试本身实现smtp服务器。
***dkim: 电子邮件验证标准——域名密钥识别邮件标准 。
***dmarc:DMARC协议是有效解决信头From伪造而诞生的一种新的邮件来源验证手段,(为邮件发件人地址提供强大保护),并在邮件收发双方之间创建起一个数据反馈机制。
ptr:(Pointer Record ) PTR记录是电子邮件系统中的邮件交换记录的一种,常被用于反向地址解析。
MX record:邮件交换记录,是域名系统(DNS)中的一种资源记录类型。
SPF Record:(Sender Policy Framework)做用发送策略框架,是解决邮件防伪和垃圾邮件的一个新标准。http://ui.easeye.com.cn/EventMail/SPFRecord.aspx
***SSL/TLS证书:SSL/TLS证书是什么,证书怎么验证的、怎么申请、吊销。
starttls:(简称OE)有时候也称非认证加密。是一种明文通讯协议的扩展,可以让明文的通讯连线直接成为加密连线(使用SSL或TLS加密),而不须要使用另外一个特别的端口来进行加密通讯,属于机会性加密。
***Amavisd :是介于MTA(邮件传输代理)和邮件分析直接的接口。常和clamav,spamssassin一块儿使用。
***ClamAV: 开源的杀毒软件,https://hacpai.com/article/1533785819461。
***spamassassin: 一种安装在邮件伺服主机上的邮件过滤器,用来辨识垃圾信。
Python memoryview 调用
4、实战,在Ubuntu 上安装Zimbra开源版(本部分转自https://cloud.tencent.com/developer/article/1344430)
Zimbra是一个完整的邮件服务器,它提供配置的Postfix与OpenDKIM,Amavis,ClamAV和Nginx,准备处理一个或多个域的邮件。Linode上的Zimbra是您将找到的正常运行的邮件服务器的最快路径之一。本指南将指导您完成Zimbra安装过程。php
注意本指南中所需的步骤须要root权限。请务必以root身份或使用sudo
前缀运行如下步骤。有关权限的更多信息,请参阅咱们的用户和组指南。html
设置您的Linode
- 建立一个至少具备4 GB RAM的Linode。有关设置主机的帮助,请参阅“ 入门”。
- 将Ubuntu 14.04 LTS映像部署到您的Linode。考虑使用少于一半的可用磁盘空间用于第一个映像,另外一半用于在更新以前获取备份映像。您的分区大小取决于您但愿处理的账户数量和邮件量。部署后,启动新主机。使用Linode Manager中远程访问页面上显示的命令和建立Linode时输入的密码SSH进入终端。
- 您必须在安装Zimbra以前设置主机名和彻底限定的域名(FQDN),并更新/ etc / hosts。
- 在DNS提供程序中配置DNS条目以提供主机的A记录,并将域MX记录指向新服务器。强烈建议使用反向DNS指针,以防止服务器中的邮件被拒绝。有关设置DNS的详细信息,请参阅运行邮件服务器:DNS记录。
下载Zimbra
- 下载最新版本的Zimbra开源版。在安装以前阅读发行说明并了解要求和警告是个好主意。选择Ubuntu 14.04 LTS 64位版本并将其下载到您的Linode
wget
。要执行此操做,请右键单击浏览器中的64位x86连接,而后从Zimbra页面复制该连接。将其粘贴到shell命令中并执行它。
例如:
wget https://files.zimbra.com/downloads/8.6.0_GA/zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz
注意本指南是关于设置新的Zimbra Linode,但若是您要升级现有的Zimbra安装,请务必阅读Zimbra提供的发行说明!这些注释位于您找到该软件的下载页面上。升级以前或以后可能须要执行一些步骤。
- 如下载Zimbra tarball相同的方式下载SHA256校验。
- 测试校验。
sha256sum -c zcs-8.6.0_GA_1153.UBUNTU14_64.20141215151116.tgz.sha256
若是校验匹配,则此命令将输出“OK”。若是没有,您可能有一个损坏的下载。再次下载并从新检查。
- 将Zimbra应用程序文件解压缩到Linode root用户目录。
tar xzf zcs-*.tgz
安装Zimbra
- 切换到解压缩的目录并运行安装脚本。
cd zcs-* ./install.sh
检查一些先决条件后,系统会要求您接受许可协议。请注意,虽然Zimbra OSE是开源的,但它不是GPL。脚本显示的连接容许您阅读术语。若是您决定不安装,请将默认回复保留为N,而后按Enter键。不然键入Y并按Enter继续。(在运行安装脚本的任什么时候候,要接受括号中显示的默认答案,您只需按Enter键。)
... License Terms for the Zimbra Collaboration Suite: http://www.zimbra.com/license/zimbra-public-eula-2-5.html Do you agree with the terms of the software license agreement? [N]
回答Y后,脚本会检查已安装的软件并报告任何差别。
- 知足缺乏的依赖关系。
Zimbra将经过MISSING:字段通知您任何缺乏的依赖项,以下所示。
Checking for prerequisites... FOUND: NPTL FOUND: netcat-openbsd-1.105-7ubuntu1 FOUND: sudo-1.8.9p5-1ubuntu1.1 FOUND: libidn11-1.28-1ubuntu2 FOUND: libpcre3-1:8.31-2ubuntu2.1 MISSING: libgmp10 FOUND: libexpat1-2.1.0-4ubuntu1 FOUND: libstdc++6-4.8.4-2ubuntu1~14.04 MISSING: libperl5.18 MISSING: libaio1 FOUND: resolvconf-1.69ubuntu1.1 FOUND: unzip-6.0-9ubuntu1.3 Checking for suggested prerequisites... MISSING: pax does not appear to be installed. FOUND: perl-5.18.2 FOUND: sysstat MISSING: sqlite3 does not appear to be installed. ###WARNING### The suggested version of one or more packages is not installed. This could cause problems with the operation of Zimbra. Do you wish to continue? [N]
必须先安装这些依赖项,而后再进一步安装,因此回答N退出安装程序并解决问题。例如,安装如下包将知足上面输出中指定的依赖项:
sudo apt-get install libgmp10 libperl5.18 libaio1 pax sqlite3
- 选择安装选项。
安装缺失的软件包后,再次启动安装程序。Zimbra将继续安装。接受全部默认值,zimbra-snmp
若是您没有使用SNMP监视,则可能包含该例外。
Checking for installable packages ... Install zimbra-snmp [Y] n ... The system will be modified. Continue? [N]
此时,您已经准备好容许安装,这样回答ÿ。将安装软件包,并将大多数Zimbra设置配置为默认设置。
- 配置MX记录。
若是您收到有关缺乏的MX记录的错误,以下所示,则表示您的域DNS记录与Zimbra指望找到的内容不匹配,具体取决于您以前配置的主机名。检查您的/etc/hostname
文件和DNS记录以解决问题。
DNS ERROR resolving MX for linodemail.example.com It is suggested that the domain name have an MX record configured in DNS Change domain name? [Yes]
若是您只是测试Zimbra而不是部署,请继续回答N以跳过更改域名。
- 设置管理员密码和DNS。
接下来,您将看到主菜单。安装程序显示Zimbra的当前设置,并容许您更改它们。输入要更改的主要部分的编号,将显示该部分的子菜单。输入要更改的部分中的项目编号,而后输入首选值。
Main menu 1) Common Configuration: 2) zimbra-ldap: Enabled 3) zimbra-logger: Enabled 4) zimbra-mta: Enabled 5) zimbra-dnscache: Enabled 6) zimbra-store: Enabled +Create Admin User: yes +Admin user to create: admin@linodemail.computassist.net ******* +Admin Password UNSET ... Address unconfigured (**) items (? - help)
默认状况下,不设置管理密码。要设置密码,请输入6以显示zimbra-store
菜单,而后输入4以在提示符下键入新密码。输入r返回主菜单。对于DNS,进入zimbra-dnscache
菜单,而后更改Master DNS
IP地址并返回主菜单。
注意在UTC上运行邮件服务器是很常见的,由于它们常常接收来自世界各地的邮件。当夏令时启动或退出时,这有助于跟踪邮件流,并使查阅日志更容易。若是您愿意,您能够选择使用当地时间。
- 完成安装。
输入a以将更改应用于设置。最后,输入Y继续安装。
*** CONFIGURATION COMPLETE - press 'a' to apply Select from menu, or press 'a' to apply config (? - help) a Save configuration data to a file? [Yes] Save config in file: [/opt/zimbra/config.13935] Saving config in /opt/zimbra/config.13935...done. The system will be modified - continue? [No] y
安装程序将开始完成Zimbra安装的最后步骤,并告知您每一个步骤的进度。系统将询问您是否但愿与Zimbra家庭办公室的人员分享您的新安装通知。
You have the option of notifying Zimbra of your installation. This helps us to track the uptake of the Zimbra Collaboration Server. The only information that will be transmitted is: The VERSION of zcs installed (8.6.0_GA_1153_UBUNTU14_64) The ADMIN EMAIL ADDRESS created (admin@linodemail.example.com) Notify Zimbra of your installation? [Yes] Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=8.6.0_GA_1153_UBUNTU14_64&MAIL=admin@linodemail.example.com
安装完成后,您将看到输出:
Configuration complete - press return to exit
- 访问您的邮件服务器。
使用https访问浏览器中的Linode主机名或IP地址。例如,https://mail.example.com
。这将打开登陆页面。使用安装期间建立的管理员账户和密码登陆。
警告因为您还没有安装受信任的证书,所以您可能会收到有关不受信任的站点的浏览器警告。如今绕过警告。稍后您能够将Zimbra的自签名证书添加到浏览器或在Zimbra中安装可信证书。
若是您配置了相应的DNS记录(上面设置您的Linode的第4步),您应该可以使用此账户发送和接收邮件。node
配置Zimbra服务器
Zimbra提供了两种管理配置的方法:Web控制台和命令行。命令行界面超出了本指南的范围,但您能够在管理员指南的附录A中找到它,该指南经过管理控制台中的帮助中心进行连接。linux
在管理控制台中,您能够配置新账户的默认设置(Zimbra将其称为“服务等级”或“COS”),添加和管理账户,更改密码以及一般管理邮件服务器。管理控制台具备大多数设置的内置说明。单击输入项的标签,将出现工具提示。单击右下方的“ 更多”按钮,将显示更详细的注释。c++
注意若是您已登陆Zimbra Webmail页面,也能够访问管理控制台。窗口右上角的账户名旁边的下拉菜单提供了指向管理控制台的连接。web
全局设置
您的服务器在安装时已配置,大多数设置将按原样运行。您可能但愿特别访问一些,以控制它愿意与谁交谈并消除某些类型的垃圾邮件。sql
- 从管理控制台的主菜单中,单击配置,而后单击全局设置。左侧有一个页面菜单。随意浏览,这里有数百种选择。
- 单击MTA页面以配置一些能够控制您将接受邮件的Postfix设置。若是您在本身以外的其余网络上已知要接受邮件的服务器,则能够将它们添加到MTA可信网络。将它们做为带子网的IP地址输入,用空格分隔,例如“127.0.0.0/8 10.0.0.0/16 12.34.56.78/32”。
- 在“ 消息”部分中控制最大邮件大小。以KB为单位输入限制,所以25 MB将为25600 KB。
- 该协议检查他们进入你的系统以前,能够阻止许多垃圾邮件。您能够将它们所有打开,但至少应检查发件人地址是否彻底合格。
- DNS检查使用实时黑名单来拒绝来自已知垃圾邮件服务器的邮件。
zen.spamhuas.org
是一个好的建议开始。在“客户端RBL列表”中输入域名。
- 单击AS / AV页面。在这里,您能够肯定如何标记或拒绝邮件的“垃圾邮件”。Zimbra使用SpamAssassin为每条消息打分。得分为零或小于零意味着该消息可能值得传递。高于零的分数意味着有一些指标多是不须要的电子邮件。所述杀死百分比是高于该Zimbra的不会在全部传递消息的分数。该标签%的是分数高于该Zimbra公司将让经过的消息,但它传递到垃圾邮件文件夹。
这些百分比将根据您的传入邮件流而有所不一样。您必须平衡控制垃圾邮件与获取好邮件的误报。此外,这些数字全球适用于您的全部账户。实验将告诉你移动的方式。Zimbra以Kill = 75,Tag = 33开始。你可能会遇到至关多的垃圾邮件。通过大量的测试和超过一年的逐渐走下去,我到达Kill = 20,Tag = 4.请在您本身的条件下测试并学习您本身的最佳值!
- 单击“ 保存”按钮,而后单击左上角的“ 主页”按钮。
- 若是您对全局设置进行了更改,请在继续以前从新启动服务器。
服务类
Zimbra安装了一个默认的服务类,它将应用于全部新账户。若是您不须要为不一样的用户组提供不一样的功能或设置,那么这个默认类就是您所须要的。您能够建立其余类,而后根据须要将其分配给用户,以控制其权限,功能访问权限,配额和默认设置。shell
1. 要在控制台中管理COS,请单击“ 配置”菜单选项。将打开“配置”菜单,而且已选择“服务等级”。ubuntu
2. 双击默认 COS,打开“服务等级”页面。左侧有一个页面菜单。每一个页面都容许您修改此COS的设置。浏览器
3. 您须要浏览“ 功能”页面,而后肯定要为用户提供的内容。例如,若是您没有足够的存储空间,限制某些形式的共享或启用外部POP或IMAP访问,您可能但愿关闭公文包(文件保存和共享)。
4. 接下来,阅读首选项,按照您但愿的方式为用户设置每一个项目。请记住,全部这些设置仅适用于此类服务,您能够根据须要建立其余类。
5. 最后,查看“ 高级”页面。建议设置账户配额,即便它至关大,以防止一个用户占用全部磁盘空间。您能够在此处自定义配额警告消息模板。向下滚动以设置密码要求,锁定选项以及垃圾邮件和垃圾邮件保留策略。
6. 若是须要,您能够继续添加更多服务类别,并为其余类型的用户定义全部这些设置。不一样的类能够具备不一样的配额,访问更多或更少的功能,或者可能一个组得到外部IMAP或访问公文包选项卡。请注意,单个用户账户设置能够覆盖COS设置。除非您已定义另外一个用户账户并在建立账户时选择它,不然将为新用户账户分配默认COS。
用户账户
您在安装Zimbra时收到了管理员账户。开源版对您能够拥有的账户数量没有限制。它仅受服务器处理流量的能力的限制。若是您已经过服务等级,则建立另外一个账户将是熟悉的区域之旅,由于大多数设置都相同,但适用于此我的账户。
建立账户
- 从主页单击“ 管理”。将显示“ 账户”页面。
- 单击右上角的齿轮图标,而后单击“ 新建”。
3. 惟一须要的项目是电子邮件地址和姓氏,但您须要建立临时密码,若是您已设置其余密码,则可能会覆盖默认COS。
4. 若是要在此账户上显式设置其余属性,请单击“ 下一步”继续浏览页面。您能够随时选择“ 完成”以接受其他属性的默认值。
5. 建立账户后,便可当即使用。
管理账户
当用户忘记密码时,能够轻松完成重置。
1. 在“ 管理账户”页面上,右键单击要更改的账户,而后单击“ 更改密码”。
2. 输入您将发送给用户的临时密码,并单击必须更改密码。下次登陆时,系统会提示他们选择新密码。
安装SSL证书
Zimbra在安装时建立并使用自签名SSL安全证书。若是您计划向其余人提供电子邮件服务,则须要从第三方证书颁发机构(CA)安装可信证书。
建立证书签名请求(CSR)
- 登陆Zimbra管理控制台
- 单击配置菜单,而后单击证书。
- 单击工具栏中的齿轮图标,而后选择“ 安装证书”。
- Zimbra证书安装向导将打开。选择主域,而后单击“ 下一步”。
- 选择生成证书签名请求(CSR)的选项,而后单击“ 下一步”。
- 有关如何正确填写表单的详细信息,请访问CA的网站并按照其建议操做。一般,您将输入您的FQDN做为通用名称,相应的国家/地区,州/省,城市和您本身的组织名称。若是您的证书仅用于主域,则将备用名称留空,或者若是您将得到通配符或多域证书,则输入域的其余形式(不一样的主机,子域)。出于电子邮件的目的,您的证书只须要验证服务器的FQDN。
- 复制CSR文本并完成Zimbra向导,返回到CA的网站并按照其过程购买SSL证书。
将您的证书安装到Zimbra。
- 在Zimbra管理控制台中,单击“ 配置”菜单,而后单击“ 证书”。
- 单击工具栏中的齿轮图标,而后选择“ 安装证书”。
- Zimbra证书安装向导将打开。选择主域,而后单击“ 下一步”。
- 选择安装商业签名证书的选项,而后单击“ 下一步”。
- 再次查看CSR中的信息,而后单击“下一步”。
- 上传从CA收到的文件。各类CA以不一样方式提供证书,中间CA和根CA文件。您可能会收到包含所需内容的ZIP文件,或者您可能须要从其网站下载根CA和中间CA文件。再次,请咨询CA的网站以正确处理这些文件。得到全部须要的文件后,使用“证书安装向导”中的“浏览”按钮上载每一个文件。而后单击下一步。
- 该向导将安装新证书。完成后,您能够经过两种方式确认安装。在管理控制台中,转到“ 配置”,“ 证书”,而后双击您的服务器名称。将显示证书信息。或者,访问服务器的Zimbra webmail页面并在浏览器中显示证书信息。