smtp4dev
smtp4dev - 一款用于开发与测试的虚拟 SMTP 邮件服务器
安装次数
点赞
应用评论
催更次数
桌面端
移动端





应用描述
一款适用于 Windows、Linux、Mac OS-X(以及其他任何可运行.NET Core 的平台)的模拟 SMTP 服务器。让你无需向真实客户发送垃圾测试邮件,即可完成应用程序的测试工作。 smtp4dev 支持多项高级功能: 开放式 API / 交互式 API 文档 支持通过 IMAP 与 POP3 协议检索、删除邮件 SMTP 会话日志记录 功能完备的终端用户界面(TUI)模式 UTF-8 编码支持 视图尺寸切换功能,可模拟移动端等不同显示场景 多部分多用途互联网邮件扩展(MIME)解析器 HTML 兼容性报告与 HTML 有效性校验 支持隐式 TLS/SSL、STARTTLS 两种加密模式,可自动生成自签名证书 身份验证功能 多邮箱管理,支持配置规则指定邮件的投递路径 邮件回复、撰写与转发功能,包含自动转发规则配置 脚本表达式功能,支持模拟各类错误场景 通过端口转发暴露到外部,具体端口为 •SMTP:服务内 25 • IMAP:服务内 143 • POP3:服务内 110
相关攻略

Mailpit-轻量化的 smtp 工具
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.mailpit-smtp 之前写过一篇攻略介绍应用 smtp4dev,今天主要介绍的是 mailpit这个工具。Mailpit 这个工具的定位和 smtp4dev有一些不同,smtp4dev提供了邮箱调试的比较多的功能,包括 smtp、pop3、imap;而 Mailpit 主要只提供 smtp 的收件服务,比如现在本地化部署开源项目的时候,需要填入SMTP地址进行邮件验证来完成,此时用Mailpit这个小工具就会非常方便。 https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.smtp4dev ## 配置 我们只需要从商店下载安装并启动mailpit,之后通过端口转发工具把它的 1025端口转发出来即可。 https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.forward  如图,将Mailpit 的 tcp 1025 端口转发到我的微服域名下,即完成所有配置。 # 验证 我们可以通过ssh链接微服,通过简单的Python代码验证。  直接输入 Python,然后粘贴以下测试代码,把域名或者地址换成你的。 ``` import smtplib from email.message import EmailMessage host = 'mailpit.lmy666.heiyu.space' port = 1025 msg = EmailMessage() msg['From'] = 'verify@aaa.local' msg['To'] = 'inbox@aaa.dev' msg['Subject'] = 'SMTP 验证邮件' msg.set_content('这是一封 SMTP 验证邮件') with smtplib.SMTP(host, port, timeout=15) as s: s.ehlo_or_helo_if_needed() s.send_message(msg) print('SMTP_OK') ``` 按几下 enter 执行  此时去邮箱即可收到邮件 

smtp4dev 配置攻略
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.smtp4dev **smtp4dev** 是一款专为开发测试设计的假邮件服务器——接收所有发来的邮件但从不真正投递,同时提供 Web 界面查看收件箱。部署在懒猫微服上,可用于本地开发环境的邮件发送调试。 --- ## 1. 三个协议分别干什么 - **SMTP**:发信,把邮件投递到 smtp4dev - **IMAP**:收信,在客户端读取服务器上的邮件,支持多端同步 - **POP3**:收信,偏下载式读取 --- ## 2. 端口转发配置(重点) 以域名 `smtp4dev.xxx.heiyu.space` 为例: | 协议 | 对外端口 | 服务内端口 | |------|----------|------------| | SMTP | 2525 | 25 | | IMAP | 1143 | 143 | | POP3 | 1110 | 110 | > **加密建议**:先全部使用无加密 / None,不要开 SSL/TLS,也不要 STARTTLS。 然后我们通过懒猫端口转发助手把端口转发出来 https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.forward  --- ## 4. 验证代码(用 ssh 验证运行,记得吧 xxx 的域名改成自己的域名) ### A. SMTP 发信验证 ```python import smtplib from email.message import EmailMessage host = 'smtp4dev.xxx.heiyu.space' port = 2525 msg = EmailMessage() msg['From'] = 'verify@openclaw.local' msg['To'] = 'inbox@local.dev' msg['Subject'] = 'SMTP 验证邮件' msg.set_content('这是一封 SMTP 验证邮件') with smtplib.SMTP(host, port, timeout=15) as s: s.ehlo_or_helo_if_needed() s.send_message(msg) print('SMTP_OK') ```  进应用可以看到收到了邮件  ### B. IMAP 读取验证 ```python import imaplib host = 'smtp4dev.xxx.heiyu.space' m = imaplib.IMAP4(host, 1143) print('LOGIN:', m.login('test', 'test123')) print('SELECT:', m.select('INBOX')) print('SEARCH ALL:', m.search(None, 'ALL')) m.logout() print('IMAP_OK') ``` 可以看到已经读到了邮件  ### C. POP3 读取验证 ```python import poplib host = 'smtp4dev.xxx.heiyu.space' p = poplib.POP3(host, 1110, timeout=10) print('WELCOME:', p.getwelcome().decode()) print('USER:', p.user('test').decode()) print('PASS:', p.pass_('test123').decode()) print('STAT:', p.stat()) # → (邮件数, 总大小) print('QUIT:', p.quit().decode()) print('POP3_OK') ``` 读到了对应内容  ## 6. 常见坑 - **主机名别带协议前缀**:只填 `smtp4dev.xxx.heiyu.space`,不要写 `https://...` - **端口别填错**:IMAP 是 `1143`,POP3 是 `1110`,不是标准的 143 / 110 - **不要开 SSL/TLS**:明文端口开了加密会导致连不上或 `broken pipe` - **连接超时**:检查懒猫微服端口转发规则是否已保存生效,容器是否正常运行
懒猫评分/评论
0.0
0 条评论
新功能
版本历史记录""
此 App 尚未收到足够的评分或评论,无法显示评论列表。