Mailin 使用教程
mailin Artisanal inbound emails for every web app 项目地址: https://gitcode.com/gh_mirrors/ma/mailin
1. 项目介绍
Mailin 是一个开源的 SMTP 服务器,它能够监听电子邮件,解析它们并将它们以 JSON 格式发送到指定的 webhook URL。Mailin 会检查收到的电子邮件的 DKIM 和 SPF,计算垃圾邮件分数,并告知电子邮件所用的语言。它可以作为独立的应用程序直接从命令行运行,或者嵌入到 Node 应用程序中。
2. 项目快速启动
安装 Mailin
首先,确保你的系统中已安装 Node.js。然后在命令行中运行以下命令全局安装 Mailin:
sudo npm install -g mailin
运行 Mailin
运行 Mailin 并指定你的 webhook URL。默认情况下,Mailin 将监听端口 25,即标准的 SMTP 端口。
mailin --webhook http://mydomain.com/incoming_emails
如果你希望改变监听端口,可以使用 --port
选项。注意,小于 1000 的端口号需要 root 权限,因此你可以选择以下两种方式之一运行 Mailin:
-
使用
sudo
运行 Mailin:sudo mailin --webhook http://mydomain.com/incoming_emails
-
或者使用
authbind
以普通用户身份运行 Mailin:authbind --deep mailin --webhook http://mydomain.com/incoming_emails
确保你的用户有写入日志文件的权限。
3. 应用案例和最佳实践
以下是一个简单的 Node.js 和 Express 示例,展示了如何处理 Mailin 发送到 webhook 的数据:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/incoming_emails', (req, res) => {
const mailData = req.body;
console.log(mailData);
res.status(200).send('Email received');
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
在上述示例中,当 Mailin 收到电子邮件并将其数据作为表单数据发送到 /incoming_emails
路由时,Express 应用程序将打印出邮件数据。
4. 典型生态项目
Mailin 的生态中,有一些项目可以与之配合使用,以增强其功能:
- Authbind:允许普通用户以非特权端口(如 25)运行 Mailin。
- Spamassassin:用于计算电子邮件的垃圾邮件分数。
- Node.js:提供运行 Mailin 和处理 webhook 数据的环境。
以上是 Mailin 的基本使用和集成指南。你可以根据自己的需求进一步定制和扩展 Mailin 的功能。
mailin Artisanal inbound emails for every web app 项目地址: https://gitcode.com/gh_mirrors/ma/mailin
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考