宝塔邮局+Roundcube Webmail自建邮局+获取邮件接口文件

介绍

最近因为第三方的域名邮箱限制比较多(成员限制,发信数量限制),所以考虑自建邮局。

总体的的需求大致如下

1,开源或者免费,毕竟囊中羞涩,可以省点钱最好。

2,安装操作需要尽可能的简单,尤其对于非开发者而言。

3,需要有一个webmail前端邮箱网页,供用户登录邮箱进行发信收信操作。

4,可以通过邮箱接口获取邮件内容

程序选型

邮局部分

我选择宝塔邮局。因为这是宝塔面板的免费插件之一,安装方便操作非常简单,相信大部分个人站长都有使用宝塔面板的经验。

Webmail部分

我选择Roundcube。首先这是一个开源webmail程序,界面较为美观,支持PHP+NGINX+MYSQL个人站长熟悉的建站方式,很好上手,然后这个程序目前一直更新中。

我也考虑过其他Webmail程序比如Rainloop,但是这个程序已经停更两年了。其他的要么界面太丑,要么安装方式不友好。

准备工作

一,购买一台合适的云服务器

需要满足几个条件

1,服务器开放25端口,不然无法发信。

2,服务器需要一定的防御能力,邮局服务器一直都是网络重点攻击对象。没有防御能力,那么服务无法保障。

二,需要一个域名

如果你选择国内服务器,那么你的域名需要已备案。

三,下载 Roundcube 程序

你可以在 https://roundcube.net/download/  下载Complete包(包括所有插件的)

四,安装宝塔面板

请前往https://www.bt.cn/new/download.html 获取最新的安装命令。

我复制了一份如下:

并安装基础的php,niginx,mysql运行环境。

开始搭建

一,宝塔面板开始安装宝塔邮局插件

请参考官方帮助文档:https://www.bt.cn/bbs/thread-87496-1-1.html

1,需要注意的是,宝塔的脚本有概率无法安装Rspamd服务,导致无法提供DKIM记录的值

此时需要你手动安装Rspamd服务

debian/ubuntu:apt install rspamd

centos: yum install rspamd

2,需要你新建一个邮箱用户,方便后续Roundcube webmail的测试。

二,宝塔新建一个网站

1,新建一个网站,需要有PHP,需要有mysql。推荐域名使用:mail.xxxx.com(比如我的就是mail.wifilu.com)

新建完成之后,记得保存数据库信息,后面有用。

2,roundcubemail-1.6.7.tar.gz解压后,将roundcubemail-1.6.7文件夹内的文件上传到网站根目录。

三,配置Roundcube

1,进入安装界面

访问 http://mail.xxx.com/installer,进入安装界面

第一步(Check environment)是检查你的服务器各种配置是否满足,绝大部分情况是满足的。点击 next 下一步。

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,测试服务配置(Test config)

上一步更新配置后,会配置更新完毕。点击下面的 CONTINUE按钮,则进入测试界面。

测试发信:

如图配置后点击Send test mail,如果提示 SMTP send:OK。则表示发信OK

测试IMAP登录

如图配置后点击Check login,如果提示SMTP send: OK。则表示IMAP登录OK。

请注意安装之后请务必删除网站根目录下的installer目录,防止有心人访问获得关键信息。

小坑提醒

如果你安装Fail2ban防爆破插件,记得把你服务器的公网IP设置为白名单,这款插件有可能会屏蔽掉本机IP。

导致其他应用(Roundcube ,foxmail等)无法连接上SMTP和IMAP服务器。

四,登录网页端体验邮箱服务吧

浏览器访问 http://mail.xxxx.com/,使用在宝塔邮局中已建好用户用户登录即可体验邮箱服务。

五,批量生成宝塔邮箱账号文件

上传该文件到网站根目录 然后访问 http://你的域名/api/baotayouxiang.php

这里注意自己设置的密码最好不要有# %& 因为后期获取邮箱的接口url不支持

URL 查询参数 中,除了 #,大部分特殊字符都是可以的,只要做 URL 编码 就不会有问题。

1️⃣ 常见字符说明

字符 是否需要 URL 编码 示例编码
# 必须 %23
& 必须 %26
+ 建议编码 %2B
% 必须 %25
空格 建议编码 %20+
@ 不必编码(安全)
. 不必编码
_ / - 不必编码
* 建议编码 %2A

✅ 总结:

  • 只要密码中出现 URL 特殊字符(比如 #, &, %, + 等),必须 %xx 编码

  • 普通字符如字母、数字、点、下划线、@ 等可以直接使用。

就可以生成用户 然后去宝塔面板批量添加

邮件接口调用

在上面的账号添加好了后  保存生成的api调用链接

在生成的api链接里面的格式是 邮箱账号  密码  api链接 我们主要查看api链接即可

大致的格式是这样的  直接访问就可以获取到邮件的内容了

https://mail.ggmgail.com/api/controller.php?imap_ip=mail.ruihumail.com&port=143&username=smqrcs0911@ggmail.com&password=Abc12345&delete=0&format=html&limit=5

接口使用说明

参数 说明 示例
username 邮箱账号 [email protected]
password 邮箱密码(支持#、&、+) Aa123456#
delete 是否删除邮件(1=删除,0=保留) delete=1
format 显示格式(txt/html/auto) format=html
limit 限制显示的邮件数量(默认10) limit=5

附件下载

5/5 - (1 vote)

版权声明: 本站相关资源均存于来自于互联网,和网友投稿发送如果侵权或资源下载地址失效,如遇此情况可于本文留言或tg:@bayuechangan 联系博主,谢谢!!
下载本站软件注意:网站分享的软件资源并非本人原创,使用之前建议虚拟机运行
链接:https://dumuzhou.org/3277.html
文章版权归作者所有

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录