前言
在目前的网络环境中,邮箱的重要性不言而喻,网络上目前也有免费的域名邮箱、企业邮局等资源,但本着免广告、去除域名数量限制等因素,笔者觉得自建邮局可能还是更加自由方便,于是就有了这边教程,此教程是经过笔者亲自搭建后的说明,目的为了让其他需要搭建的小伙伴不走弯路,并且也算是给自己留个记录,便于后期再次使用。
前期准备工作
1、购买可以开通25端口的高配置VPS,且IP地址最好比较干净,否则容易进垃圾箱;
2、一个顶级域名,用于自建邮箱后缀(国内域名需备案),例如abc.com
3、下载 Roundcube 程序,下载地址如下:
https://roundcube.net/download/
下载Complete包(包括所有插件)
4、设置服务器主机名为顶级域名,如abc.com,可以通过编辑/etc/hostname文件来设置正确的主机名
5、若服务器为双栈网络,则最好设置为IPV4优先,可以通过编辑/etc/gai.conf 文件,取消注释,修改为:
precedence ::ffff:0:0/96 100
服务器环境
笔者购买的是德国的VPS,建议配置内存至少1G以上,硬盘10G以上,因为宝塔挺占内存和硬盘(个人认为)。
VPS必须开通25端口,否则下文可以不用继续看了。判断25端口是否开通,请输入如下命令:
telnet smtp.qq.com 25
如果显示如下内容就代表25端口是开放了的:
Trying xxxx.xxx.xxx.xxx Connected to smtp.qq.com. Escape character is '^]'. 220 smtp.qq.com Esmtp QQ Mail Server
如果显示如下内容则代表25端没有开放:
Trying xxxx.xxx.xxx.xxx telnet: connect to address xxx.xxx.xxx.xxx: Connection timed out Trying xxxx.xxx.xxx.xxx telnet: connect to address xxx.xxx.xxx.xxxo: Connection timed out
需要注意有可能VPS没有安装telnet工具,在测试之前可能需要先安装telnet工具。
另外建议环境为纯净版,可以通过服务商后台控制面板重装系统,笔者使用了leitbogioro大佬的脚本如下DD网络重装为debian 11:
wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh && bash InstallNET.sh -debian 11 -pwd '密码'
安装宝塔面板
笔者安装的是宝塔纯净版 7.6.0开心破解版,自行判断是否有后门,Debian全新安装命令:
wget -O install.sh http://v7.hostcli.com/install/install-ubuntu_6.0.sh && bash install.sh
安装完成后登陆面板,依次安装基础的php、niginx、mysql运行环境
另外,为了便于宝塔邮局管理器顺利安装,需要提前先安装如下依赖包:
apt install rspamd -y apt install postfix -y
安装宝塔邮局管理器
|
2.安装邮局插件,安装4.5最新版本。
2.1进入邮局,然后会初始化,点击确定等待初始化完成。如果提示主机名不正常,点击修复
使用域名方式作为主机名,如xxx.com。然后点击提交
3.添加邮箱域名
3.1 邮箱域名做好A记录,然后再做一个二级域名为mail或者其他二级域名
3.2将解析好的域名添加到邮局域名内即可
3.3 解析MX、SPF、DKIM和DMARC记录
3.4 设置完解析后验证域名解析,有时候如果危险已设置,可能解析未生效。
MX记录:邮件交换记录,是域名在DNS服务器上的一个记录,告诉那台计算机负责为系统处理邮件。MX记录存在于域名的 DNS文件中,用于将某个域名的电子邮件指向到对应的邮件服务器处理。
SPF记录:可以避免伪造地址的垃圾邮件,避免有其他人伪造我的域名来投递。提高发送外域邮箱的成功率
DKIM记录:提供邮件签名验证的公钥信息
DMARC记录:识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全
4.邮箱用户创建
4.1 新增邮局用户,密码第一位必须是大写字母+小写字母+数字组成。邮箱地址不能为大写字母
4.2 批量添加邮局用户
PS:如账户密码忘记,点击用户编辑重新输入新密码保存即可。
5.邮局SSL申请设置 (此步骤建议不要省略,因为gmail、outlook邮箱等需要SSL安全协议才能收到邮件。)
5.1选择手动解析,如果有用到cloudflare托管的域名,可以使用API方式自动解析DNS记录
做好解析后点击验证,验证成功后会下发证书并自动部署。
5.2 其他证书部署,证书所属域名必须是你邮箱域名的主域名。将证书key以及pem文件内容填写报错即可
6.使用邮局账户测试发件
6.1 发件可多个用户发送,使用英文符号,隔开即可
6.2查看QQ、网易邮箱和Gmail接收正常
PS:如您服务器运营商限制了25端口是无法正常使用宝塔邮局插件的,请确保服务器运营商开放25端口
新建一个网站
新建一个网站,需要有PHP,需要有mysql。推荐域名使用:mail.xxxx.com(xxx.com是你自己的域名)
新建完成之后,记得保存数据库信息,后面有用。
将roundcubemail-1.6.7.tar.gz上传并解压后,将roundcubemail-1.6.7文件夹内的文件上传到新建的网站根目录。
配置Roundcube
3.1,进入安装界面
访问 http://mail.xxx.com/installer,进入安装界面。有3个不OK,我们需要挨个解决一下
安装后,重启PHP
然后刷新http://mail.xxx.com/installer,看看是否OK,理论上是OK的
第一步(Check environment)是检查你的服务器各种配置是否满足,绝大部分情况是满足的。点击 next 下一步。
3.2,详细配置(Create config)
在这个界面你需要关注的几个配置是:
General configuration 常规配置
product_name 邮箱名称,请起一个名字(支持中文)
support_url,登录界面给用户的一个链接,可以点击跳转其他地方,一般用作帮助页面,可以不填。
temp_dir 临时目录,保持默认即可。
des_key,加密imap的密钥,自己随便填一个英文+数字 字符串即可。
identities_level,建议选择 one identity with possibility to edit all params but not email address(一个身份可以编辑所有参数,但不能编辑电子邮件地址)
其他保持默认
Logging & Debugging 日志记录和调试
保持默认设置
Database setup 数据库配置
Database type选择 mysql
Database server 数据库服务器,如果是本机就是localhost
Database name 数据库名称,参看建站时记录
Database user name 数据库用户名,参看建站时记录
Database password 数据库密码,参看建站时记录
其他保持默认
IMAP Settings IMAP 设置imap_host imap服务器地址
这个需要具体参考你在宝塔邮局的设置,如果你在宝塔邮局设置的邮局服务器时mail.xxx.com
那么常规填写:mail.xxx.com:143
如果设置了SSL加密则填写:ssl://mail.xxx.com:993
username_domain 用户名_域名,一般是xxx.com。设置了以后,网页用户登录时可以省略@xxx.com的部分。
auto_create_user 自动创建用户,勾选。这样首次登录就可以同步到Roundcube 数据库,否则需要手动修改数据库。
sent_mbox,填写 已发送。
trash_mbox,填写 已删除。
drafts_mbox,填写 草稿。
junk_mbox,填写 垃圾邮件。
SMTP Settings SMTP设置
smtp_host smtp服务器地址
这个需要具体参考你在宝塔邮局的设置,如果你在宝塔邮局设置的邮局服务器时mail.xxx.com
那么常规填写:mail.xxx.com:25
如果设置了SSL加密则填写:ssl://mail.xxx.com:465
其他保持默认
Display settings & user prefs 显示设置和用户偏好
language 语言,填写 zh_CN
其他保持默认
Plugins 插件
插件是丰富邮箱的功能的。建议启用以下插件,其他插件可以自行测试。
acl,访问控制列表
additional_message_headers,附加消息标头
archive,档案
autologon,自动登录
emoticons,表情符号
filesystem_attachments,文件系统附件,核心插件,提供基本的、基于文件系统的附件临时文件处理。这包括存储当前正在撰写的消息的附件、在重新打开带有附件的草稿时将附件写入磁盘以及将附件写入磁盘以便在当前 html 撰写中内联显示。
hide_blockquote,隐藏区块引用
identicon,身份识别图标
identity_select,身份选择
managesieve,管理筛选器
markasjunk,垃圾标记
new_user_identity,新用户身份(登陆时填充默认的@xxx.com部分)
newmail_notifier,新邮件通知程序,支持三种通知方式:1. 基本 - 聚焦浏览器窗口并更改图标 2. 声音 - 播放 wav 文件 3. 桌面 - 显示桌面通知(使用 HTML5 通知 API 功能)。
redundant_attachments,冗余附件
show_additional_headers,显示附加标题
userinfo,用户信息
vcard_attachments,检测 vCard 电子名片
zipdownload,zip下载,当邮件包含多个附件时,添加一个选项,可以将邮件的所有附件下载到一个 zip 文件中。
然后点击 UPDATE CONFIG 更新设置。
3.3,测试服务配置(Test config)
上一步更新配置后,会配置更新完毕。点击下面的 CONTINUE按钮,则进入测试界面。
测试发信:
如图配置后点击Send test mail,如果提示 SMTP send:OK。则表示发信OK。
测试IMAP登录
如图配置后点击Check login,如果提示SMTP send: OK。则表示IMAP登录OK。
请注意安装之后请务必删除网站根目录下的installer目录,防止有心人访问获得关键信息。
或者在/config/config.inc.php,最后添加一行如下命令:
$config['enable_installer'] = false;
登录网页端体验邮箱服务
浏览器访问 http://mail.xxxx.com/,使用在宝塔邮局中已建好用户用户登录即可体验邮箱服务。
PS:Roundcube skins皮肤官方下载包里只有elastic风格,笔者通过网络也找到了其它皮肤可供下载使用:
larry:https://github.com/roundcube/larry
classic:https://github.com/roundcube/classic
测评邮件得分
测试你发出邮件的垃圾邮件匹配度,首先按照页面提示的邮箱地址发送一份邮件,然后稍等片刻后点击下面的“查看你的邮件得分”,从而来分析邮箱的分值。
文章部分内容转载自:
https://www.bt.cn/bbs/thread-135210-1-1.html
https://www.wifilu.com/3126.html
https://www.bt.cn/bbs/thread-87496-1-1.html
文章评论