3 步发 10 亿邮件,这个 GitHub 开源项目牛逼。

你是否要经常批量发邮件?无论是向客户推送最新资讯、产品营销,还是发送日常常规通知类邮件。

使用第三方邮件服务平台不仅成本高昂功能限制多,而且可能无法保证隐私和安全。

现在,有一个完全开源、能自己部署的解决方案来了:它叫 BillionMail。

堪称国产开源邮件服务神器。

图片

BillionMail 已经在 GitHub 上获得 1W 的 Star。算是邮件服务里面比较火爆的开源项目了。

它不是那种复杂到让人望而却步的专业软件,而是一个能当邮件服务器用,还能做邮件营销 的开源解决方案 。

01

项目简介

BillionMail 是一个集邮件服务器、新闻通讯和邮件营销功能于一身的开源工具。

你可以把它装在自己的服务器上,完全自己控制数据和发邮件流程。

它不但支持大规模发信,还提供了统计分析、联系人管理等功能,甚至内置了 Web 邮件客户端,可以直接在浏览器里处理邮件。

图片

它强调 3 步就能发 10 亿封邮件,虽然听起来有点夸张,但实际是想表达:安装简单、配置直观、使用无障碍

图片

不管是发促销信息,还是发网站注册确认这类事务性邮件,都能 hold 住。

开源地址:https://github.com/aaPanel/BillionMail

02

如何使用

自己的服务器自己搭,邮件想发多少发多少,没有内置的发送速度限制,做大活动也不用慌。

只需要把如下命令复制进你的终端运行:

cd /opt && git clone https://github.com/aaPanel/BillionMail && cd BillionMail && bash install.sh

不一会儿,这个开源项目就安装好了。

把服务地址复制到网站,使用默认的用户名和密码登录就好了。

图片

图片

① 邮件概览

登录后概览能看到邮件发送的概览。

发出去的邮件有没有送到、多少人打开了、点了里面的链接,甚至不同邮箱服务商,比如谷歌、Outlook 的送达率,都能在仪表盘上实时看到,不用瞎猜营销效果。

所有邮件数据、客户信息都存在自己这,隐私和安全都放心。

图片

② 创建模板

你可以通过拖拽编辑器轻松创建美观的邮件模板,并支持变量替换,如 {{姓名}},实现千人千面的个性化群发。

图片

除了拖拉拽的方式创建一个模板,还能使用 AI 直接生成模板。

图片

除此之外,还能一键导入 HTML 作为邮件模板。

图片

③ 创建邮件任务

点击邮件营销,你可以创建一个邮件发送的任务,能够选择邮件模板、收件人列表、主题等等。

点击确认就能安排邮件的批量放送了。

图片

牛逼的是,这个开源项目自动符合 CAN SPAM、GDPR 这些法规,发批量邮件时,不容易被 Gmail、Outlook 这些平台拒收,进收件箱的概率更高。

BillionMail 让你以近乎零的成本最小的技术门槛,获得一个功能强大、可控且无发送限制的邮件发送平台,从而实现真正的邮件发送自由

如果觉得这个项目不错,可以给 GitHub 仓库点个 Star、分享给需要的朋友。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/923646.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/923646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】DNS 解析 DNS 污染

1. DNS 解析(工作流程、参与方与缓存) DNS 的目标:把人类可读的域名(如 www.example.com)映射为 IP 地址(如 93.184.216.34)。 典型解析流程(递归解析器 迭代查询)&…

用住宿楼模型彻底理解Kubernetes架构(运行原理视角)

导读:从楼宇建设到租客入住的全流程想象我们正在建设一栋巨型智能住宿楼,从基础设施搭建到租客入住管理,每个环节都对应Kubernetes的组件和概念。本文将按运行原理的先后顺序,系统解析Kubernetes的23个核心组件与基本概念。把 Kub…

嘉银科技基于阿里云 Kafka Serverless 提升业务弹性能力,节省成本超过 20%

作者:四牛 前言 云消息队列 Kafka 版 Serverless 系列凭借其秒级弹性扩展、按需付费、轻运维的优势,助力嘉银科技业务系统实现灵活扩缩容,在业务效率和成本优化上持续取得突破,保证服务的敏捷性和稳定性,并节省超过 20…

RTOS 任务状态与调度机制详解

一、任务状态概述在实时操作系统(RTOS)中,任务通常具有以下几种基本状态:Running(运行态):任务正在 CPU 上实际执行。单核系统中同一时刻最多只有一个任务处于运行态。Ready(就绪态&…

TDengine 特殊选择函数 UNIQUE 用户手册

UNIQUE 函数用户手册 函数定义 UNIQUE(expr)功能说明 UNIQUE() 函数返回指定列去重后的值,功能类似于 SQL 中的 DISTINCT 关键字。对于相同的数据值,UNIQUE 函数会返回时间戳最小的那一条记录。该函数会跳过 NULL 值。 版本要求 最低版本: v3.0.0.0…

新零售第一阶段传统零售商的困境突破与二次增长路径:基于定制开发开源AI智能名片S2B2C商城小程序的实践探索

摘要:新零售第一阶段,传统零售商面临同质化竞争、用户消费意愿低迷、线上电商分流等核心困境。本文以定制开发开源AI智能名片S2B2C商城小程序为切入点,结合阿里巴巴、某知名连锁零售企业等实践案例,分析其通过“AI智能推荐供应链协…

Spark SQL 之 Join Reorder

参考链接 https://www.cnblogs.com/fxjwind/p/14768975.html join Reorder src/main/scala/org/apache/spark/sql/catalyst/optimizer/CostBasedJoinReorder.scala private def reorder(plan: LogicalPlan, output: Seq[Attribute]): LogicalPlan = {<

牛客周赛 Round 109

比赛链接&#xff1a;牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A-小红的直角三角形_牛客周赛 Round 109 签到题&#xff1a;用勾股定理即可通过此题&#xff08;需要注意对共线情况的判断&#xff09; 代码&#xff1a; // Problem: 小红的直角三角…

[deepseek]LNK2001错误即单独编译汇编并链接

方案一&#xff1a;使用预编译的 .obj 文件&#xff08;最简单&#xff09; 如果汇编代码不常改动&#xff0c;这是最省事的方法。手动编译一次&#xff1a; 打开命令行&#xff0c;切换到 spoof.asm 所在目录。使用你已有的汇编器&#xff08;或者下载一个单独的 MASM 版本&am…

php学习 (第六天)

虚拟主机 一.什么是虚拟主机&#xff1f; 1.1 概念虚拟主机&#xff08;Web Hosting&#xff09;英文&#xff1a;Web Hosting / Shared Hosting核心概念&#xff1a; 一台服务器被切分给多个用户&#xff0c;每个人只使用服务器的一部分资源&#xff08;CPU、内存、带宽、存储…

AcousticsML声学机器学习翻译教程二(特征提取Feature Etraction)

源自&#xff1a;https://github.com/RAMshades/AcousticsM 特征提取 特征是可测量的属性&#xff0c;作为系统的输入。这些输入与特定数据样本相关&#xff0c;机器学习模型可通过解读这些特征来提供预测。特征通常具有独立性&#xff0c;并能提供样本的具体细节。音频特征示例…

【论文阅读】Beyond Text: Frozen Large Language Models in Visual Signal Comprehension

本论文研究了能否利用一个“冻结”的LLM&#xff0c;直接理解视觉信号&#xff08;即图片&#xff09;&#xff0c;而不用在多模态数据集上进行微调。核心思想是把图片看作一种“语言实体”&#xff0c;把图片转换成一组离散词汇&#xff0c;这些词汇来自LLM自己的词表。为此&a…

The Oxford-IIIT宠物图像识别数据集(753M)

0、引言博主研究生期间做的是人工智能领域相关的深度学习模型研究&#xff0c;早期还没定题的时候调研了大量方向。众所周知&#xff0c;模型性能的好坏很大程度上依赖于数据集&#xff0c;因此我当时也接触了大量数据集&#xff0c;这阵子将这些数据集汇总整理了一下&#xff…

jdbc DAO封装及BaseDAO工具类

DAO概念 DAO&#xff1a;Data Access Object&#xff0c;数据访问对象。 Java是面向对象语言&#xff0c;数据在Java中通常以对象的形式存在。一张表对应一个实体类&#xff0c;一张表的操作对应一个DAO对象&#xff01; 在Java操作数据库时&#xff0c;我们会将对同一张表的增…

大模型应用开发2-SpringAI实战

SpringAI整合了大多数大模型&#xff0c;而且对于大模型开发的三种技术架构都有比较好的封装和支持&#xff0c;开发起来非常方便。不同的模型能够接收的输入类型、输出类型不一定相同。SpringAI根据模型的输入和输出类型不同对模型进行了分类&#xff1a; 大模型应用开发大多…

TDengine 时序函数 DIFF 用户手册

DIFF 函数用户手册 函数概述 DIFF 函数用于计算数据列中相邻两行数据的差值&#xff0c;通常用于分析数据的变化趋势和增量。该函数特别适用于监控智能电表数据的变化模式。 语法 SELECT DIFF(column_name [, ignore_negative]) FROM table_name;参数说明 column_name: 数…

清除gradle缓存的某个依赖

要清除 Gradle 缓存中的某个特定依赖&#xff0c;可以按照以下步骤操作&#xff1a;找到依赖在缓存中的路径 Gradle 缓存的默认位置&#xff1a; Windows: C:\Users\<用户名>\.gradle\caches\modules-2\files-2.1 macOS/Linux: ~/.gradle/caches/modules-2/files-2.1 路径…

机器人控制器开发(驱动层——伺服驱动canopen的sdo和pdo)

文章总览 一、核心区别&#xff1a;一句话概括 • ​​SDO&#xff08;服务数据对象&#xff09;​​&#xff1a;像 ​​“问询/设置”​​。用于​​点对点、非周期​​的参数配置和读取。例如&#xff0c;设置电机增益、读取当前位置等。​​速度慢&#xff0c;但确保数据准…

返利APP排行榜数据实时更新:基于 WebSocket 与 Redis 的高并发数据推送技术

返利APP排行榜数据实时更新&#xff1a;基于 WebSocket 与 Redis 的高并发数据推送技术 大家好&#xff0c;我是阿可&#xff0c;微赚淘客系统及省赚客APP创始人&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在返利APP运营中&#xff0c;用户对排…

[论文阅读] 人工智能 + 软件工程 | 告别冗余HTML与高算力消耗:EfficientUICoder如何破解UI2Code的token难题

告别冗余HTML与高算力消耗&#xff1a;EfficientUICoder如何破解UI2Code的token难题 论文信息信息类别具体内容论文原标题EfficientUICoder: A Dual-Modal Token Compression Framework for UI-to-Code Generation with Multimodal Large Language Models论文链接https://arxiv…