在 Win10 上 WSL 安装 Debian 12 后,Linux 如何启动 SMTP 服务?

Openclaw本地部署实战:Docker+WSL2+Ollama一站式落地指南 智能体工作流(Agent Workflow)是当前AI工程化的核心范式,其本质是将大模型能力解耦为可调度、可编排、可复用的技能单元(Skill)。Openclaw作为轻量级本地化智能体调度中枢,不依赖云服务,专注在边缘设备实现任务路由、失败降级与多模型协同。它依托Docker实现技能环境隔离,通过WSL2在Windows上提供类Linux运行时,结合Ollama构建私有模型底座,天然适配中小团队对数据隐私、低延迟和NAS/旧笔记本等资源受限场景的需求。本文聚焦‘开箱即用’的本地部署路径,覆盖从环境筑基、模型 阅读详情

在 WSL 的 Debian 12 中启动 SMTP 服务(以 Postfix 为例),请按以下步骤操作:


1. 安装 Postfix

sudo apt update
sudo apt install postfix mailutils
  • 安装过程中会弹出配置窗口:
    • General type of mail configuration:选择 Internet Site(默认)
    • System mail name:输入您的域名(如 localhost 或 yourdomain.com),测试时可保留默认值。

2. 配置 Postfix

编辑主配置文件:

sudo nano /etc/postfix/main.cf

确保以下关键配置:

inet_interfaces = loopback-only  # 只允许本地连接
inet_protocols = ipv4           # 仅使用 IPv4(避免 WSL 兼容性问题)
mydestination = $myhostname, localhost.$mydomain, localhost

保存并退出(Ctrl+X → Y → Enter)。


3. 启动 Postfix

sudo service postfix start
  • 设置开机自启(WSL 需额外配置):
    sudo nano /etc/rc.local
    
    添加以下内容:
    #!/bin/sh
    service postfix start
    exit 0
    
    保存后赋予可执行权限:
    sudo chmod +x /etc/rc.local
    

4. 测试 SMTP 服务

方法 1:本地发送测试邮件
echo "Test email body" | mail -s "Test Subject" your-local-username@$(hostname)
  • 查看邮件日志:
    tail -f /var/log/mail.log
    
  • 读取邮件:
    mail
    
方法 2:使用 telnet 手动测试
sudo apt install telnet
telnet localhost 25

连接后输入:

EHLO localhost
MAIL FROM: <test@localhost>
RCPT TO: <your-local-username@localhost>
DATA
Subject: Test
This is a test email.
.
QUIT

5. 常见问题解决

  • 端口占用:确保 25 端口空闲:
    sudo ss -tulnp | grep :25
    
  • 防火墙:WSL 无需额外配置防火墙。
  • 邮件发送失败:
    • 检查日志:tail -f /var/log/mail.log
    • 确保配置中 inet_interfaces = loopback-only。

6. 外部邮件发送配置(可选)

若需发送到外部邮箱(如 Gmail),需配置中继:

  1. 编辑 /etc/postfix/main.cf,添加:
    relayhost = [smtp.gmail.com]:587
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
    smtp_use_tls = yes
    
  2. 创建认证文件:
    sudo nano /etc/postfix/sasl_passwd
    
    内容:
    [smtp.gmail.com]:587 your-email@gmail.com:your-app-password
    
  3. 生成权限文件:
    sudo postmap /etc/postfix/sasl_passwd
    sudo chmod 600 /etc/postfix/sasl_passwd*
    
  4. 重启 Postfix:
    sudo service postfix restart
    

说明:

  • WSL 限制:Postfix 仅在 WSL 运行时有效,关闭终端后服务停止(需通过 /etc/rc.local 实现自启)。
  • 安全性:默认配置仅允许本地访问,暴露端口需谨慎。
  • 其他 SMTP 服务(如 Exim)可类似安装,但 Postfix 是 Debian 默认推荐。

在 Win 10 上,如何发送一个邮件给 Debian 12 的 SMTP 服务 ?

要从 Windows 10 主机发送邮件到 WSL 中的 Debian 12 SMTP 服务(Postfix),需要完成以下步骤:

先决条件

  1. 已按照之前说明在 WSL Debian 中安装并配置 Postfix
  2. 关键修改:需要让 Postfix 监听 WSL 的网络接口而不仅是 loopback

步骤 1:修改 Postfix 配置(在 WSL Debian 中)

sudo nano /etc/postfix/main.cf

进行以下修改:

# 允许监听所有网络接口(包括 WSL 虚拟接口)
inet_interfaces = all

# 允许来自本地网络的客户端
mynetworks = 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

# 接收任意域名的邮件(测试用)
mydestination = $myhostname, localhost.$mydomain, localhost

保存后重启 Postfix:

sudo service postfix restart

步骤 2:获取 WSL 的 IP 地址(在 Debian 中)

ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1

示例输出:172.27.112.214(记录这个 IP)


步骤 3:在 Windows 10 上发送邮件

方法 1:使用 Telnet(推荐测试)
  1. 在 Windows 功能中启用 Telnet 客户端
    • Win+R → optionalfeatures → 勾选 “Telnet Client”
  2. 打开命令提示符:
telnet 172.27.112.214 25
  1. 手动输入 SMTP 命令:
EHLO windows
MAIL FROM: <test@windows>
RCPT TO: <your_linux_username>  # 使用 Linux 用户名
DATA
Subject: Test from Windows

This is a test email
.  # 单独一行输入点结束
QUIT
方法 2:使用 PowerShell 脚本
$SmtpServer = "172.27.112.214"  # 替换为你的 WSL IP
$Port = 25
$From = "test@windows"
$To = "your_linux_username@localhost"  # 替换为你的 Linux 用户名
$Subject = "Test from PowerShell"
$Body = "This is a test email body"

$Message = @{
    To         = $To
    From       = $From
    Subject    = $Subject
    Body       = $Body
    SmtpServer = $SmtpServer
    Port       = $Port
}

Send-MailMessage @Message -UseSsl:$false
方法 3:使用 Python 脚本

保存为 send_mail.py:

import smtplib

smtp_server = "172.27.112.214"  # 替换为你的 WSL IP
port = 25
sender = "test@windows"
receiver = "your_linux_username"  # 替换为你的 Linux 用户名

message = f"""\
Subject: Test from Python
To: {receiver}
From: {sender}

This is a test email from Python."""

with smtplib.SMTP(smtp_server, port) as server:
    server.sendmail(sender, receiver, message)
print("Email sent!")

运行:

python send_mail.py

步骤 4:在 Debian 中查收邮件

# 查看邮件日志
tail -f /var/log/mail.log

# 查看收到的邮件
mail

输入邮件编号查看内容,按 q 退出。


故障排除

  1. 连接被拒绝:

    • 检查 Postfix 是否运行:sudo service postfix status
    • 确认监听地址:sudo ss -tuln | grep :25
    • 临时关闭 WSL 防火墙:sudo ufw disable
  2. 邮件未送达:

    • 检查接收者用户名是否正确
    • 查看邮件队列:sudo mailq
    • 检查日志:sudo grep 'status=sent' /var/log/mail.log
  3. IP 地址变化问题:

    # 在 WSL 中创建固定主机名
    sudo nano /etc/hosts
    127.0.0.1   wsl-host  # 添加这一行
    

    在 Windows 中发送邮件到 wsl-host 代替 IP


安全说明(测试环境适用)

  1. 此配置开放了 SMTP 端口到本地网络,仅适用于开发测试
  2. 生产环境需要:
    • 启用 SMTP 认证
    • 配置 TLS 加密
    • 限制 mynetworks 范围
    • 使用更安全的邮件服务配置

注意:WSL 的 IP 地址在每次重启后可能变化,如需固定 IP,需配置 WSL 网络或使用 DNS 解析。

Linux网络故障排查实战指南:从ping到tcpdump的12个核心命令详解 网络连通性是现代IT系统稳定运行的基石,其底层依赖于TCP/IP协议栈实现端到端通信。当网络出现故障时,系统工程师需要从网络层、传输层到应用层逐层排查,定位问题根源。掌握Linux命令行工具是高效诊断网络问题的关键技能,这些工具能够快速验证连通性、分析路由路径、监控端口状态和抓取数据包。在运维实践中,ping和traceroute用于基础连通性测试,netstat和ss命令则能深入分析连接状态与端口占用情况,而tcpdump提供了数据包级别的深度洞察能力。本文聚焦Linux网络诊断的实战场景,系统讲解12个 阅读详情

相关推荐

QClaw本地AI工具链:如何实现真正的‘自己配置自己’

本地AI工具链正从‘手动配置’迈向‘意图驱动’新阶段。配置的本质是环境适配、依赖协商与服务状态管理,而非文本编辑;QClaw通过声明式意图引擎、环境指纹自检、语义化技能依赖和配置即服务(CaS)四大机制,将用户输入的自然语言指令(如‘用GPT-4o写周报’)自动转化为模型加载、上下文注入与技能编排的完整执行流。其技术价值在于消除跨平台部署的认知摩擦,在Windows/macOS/Linux/ARM64等异构终端上实现零配置启动与热替换模型。典型应用场景包括自动化办公(晨会简报)、律所知识归档、跨境电商客服降

culiao2169的博客 656

Win10专业版一键部署AI Agent:OpenClaw轻量级数字员工实战指南

AI Agent是面向业务自动化的智能体技术,其核心在于任务编排、工具调用与记忆管理,而非单纯依赖大模型参数规模。在Windows 10环境下落地AI Agent面临WSL2兼容性、Docker引擎适配、MOSEK求解器授权等系统级挑战。本文聚焦中小团队工程实践,详解如何绕过Docker Desktop限制,在原生Win10专业版(OS Build ≥19045)上通过WSL2+手动Docker Engine+MOSEK 10组合实现高稳定性、低资源占用的AI数字员工部署。涵盖系统版本校验、Ubuntu 2

weixin_33866037的博客 317

WSL环境下从Debian11无缝升级到Debian12的完整指南

本文提供了在WSL环境中将Debian 11(Bullseye)安全升级至Debian 12(Bookworm)的完整指南。详细阐述了升级前的系统备份、软件源替换等关键步骤,并重点解决了WSL环境下常见的`/lib/modules`挂载冲突等核心问题。通过使用`apt`进行`dist-upgrade`,开发者可以无缝获得更新的软件包和工具链,提升开发效率。

ol7890123的博客 289

postfix入门学习_开源邮件传输代理Postfix入门

postfix入门学习 Postfix是一个很棒的程序,可以路由电子邮件并将其传递到系统外部的帐户。 目前,约有33%的Internet邮件服务器使用它 。 在本文中,我将说明如何使用启用了双重身份验证的Gmail使用Postfix发送邮件。 但是,在启动并运行Postfix之前,您需要先排列一些项目。 以下是有关如何使其在多个发行版上运行的说明。 先决条件 已安装的操作系统(Ub...

cumj63710的博客 1380

MIT Mini Cheetah--仿真流程

MIT Mini Cheetah–仿真 摘要 由于官方提供代码中,控制仿真环境中的猎豹机器人运动需要遥控器来控制。官方默认推荐使用logitech Gamepad F310游戏手柄:We use the Logitech F310 controller. There’s a switch in the back, which should be in the “X” position. The controller needs to reconnected if you change the switch

Galaxy_Robot的博客 5916

海康视觉平台VisionMaster通讯实战:三种触发方式深度解析

本文深度解析海康视觉平台VisionMaster的三种通讯触发方式:字符串触发、接收字符串事件触发和轮询D地址触发。通过实际案例和配置技巧,帮助工程师在工业场景中实现高效、稳定的设备通讯,提升视觉系统的集成效率和可靠性。

weixin_42665255的博客 281

Windows10 + WSL2 +Debina12 安装说明

Windows10 + WSL2 +Debina12 安装说明。

cykun的专栏 4650

编程语言的未来走向:趋势、挑战与机遇

同时,鼓励他们接触和掌握一些专业领域的开发工具和技术框架,比如Web开发中的JavaScript、React.js,数据分析的Python(Pandas, NumPy, Matplotlib等),以及人工智能和机器学习领域的TensorFlow、PyTorch等。当前,全球范围内正积极推动编程教育的普及化,从儿童启蒙阶段到高等教育阶段,乃至终身学习的过程中,如何优化编程语言的教学方法、提高教学质量,并将其广泛应用于不同领域,是教育者与政策制定者面临的重大课题。未来,编程语言的多样化和包容性将会继续加强。

zrc_xiaoguo的博客 1828

Windows下使用zsh——WSL(Debian)方法

windows下使用WSL+zsh

qq_45436365的博客 1518

工作中SVN的使用,保姆级教程!

SVN是一款集中式版本控制系统,采用客户端-服务器模式管理代码版本。与Git相比,SVN在目录权限控制、大型二进制文件处理等方面具有优势,适合特定场景使用。本文介绍了SVN的安装方法、基本操作(检出、提交、更新、回滚等)以及分支管理(创建、合并、切换)。同时讲解了文件冲突的解决方法,并演示了如何在IDEA中集成SVN工具。SVN虽然逐渐被Git取代,但在某些特定场景下仍是可靠选择,工具选择应基于团队和项目需求。

胜人者有力,自胜者强! 1851

【项目实战】Java9的新特性模块化(Module)

Java 9引入了模块化系统,称为"Java Platform Module System"(JPMS)这个系统允许将Java程序分成模块,每个模块都有自己的规范,可以明确地声明它依赖于哪些其他模块,并且只能访问被其所依赖的模块暴露的API。这样可以模块化就是增加了更高级别的聚合,是Package的封装体。Package是一些类路径名字的约定,而模块是一个或多个Package组成的封装体。

奶爸的编程之路,也就一周冷个三天 1896

在windows10 安装子系统linux(WSL安装方式)

微软官网安装教程:https://learn.microsoft.com/en-us/windows/wsl/install。命令,允许普通用户以超级用户的身份执行命令的方法。可以让你以 root 用户的身份执行命令。永久切换到 root 用户,可以运行以下命令。

qyhua的专栏 970

Oracle EBS R12 AR 标准发票 核心表结构

​ Oracle EBS R12 AR 标准发票 核心表结构 聚焦手动标准发票 (Standard Invoice),按头→行→分配→税→收款计划→会计分录→历史分层,标注主键、外键、关键字段、业务含义,同时说明表间关联关系,适配开发 / 运维 / 数据核对场景。 一、主数据层(发票头 + 行,核心业务表) 1. RA_CUSTOMER_TRX_ALL 【发票头表】 作用:存储整张发票头部信息,一张发票对应一条记录,AR 发票主表。 主键:CUSTOMER_TRX_ID (唯一 ID,系统内部键) 业

金牌架构师 281

WSL2环境下Debian12的Docker安装与配置

【代码】WSL2环境下Debian 12的Docker安装与配置。

晨曦蜗牛 2462

深入浅出AXI协议(2)——通道及信号

本文我们继续AXI协议的学习,我们将讨论5个通道的具体内容和相对应的信号。这一部分的内容现在对于大家来说可能很难理解,但是没有关系,随着学习的深入,我们会逐步讲解这里面的所有现在,现在只需要把它们当作一个可以查阅的手册,快速阅读有一个基本的印象即可。

apple_53311083的博客 1798

2022年全国职业院校技能大赛高职组大数据技术与应用赛项赛卷⑩—解析答案

工业互联网是工业全要素、全产业链、全价值链的全面连接,是人、机、物、工厂互联互通的新型工业生产制造服务体系,是互联网从消费领域向生产领域、从虚拟经济向实体经济拓展的核心载体,是建设现代化经济体系、实现高质量发展和塑造全球产业竞争力的关键支撑。加快发展工业互联网产业,不仅是各国顺应产业发展大势,抢占产业未来制高点的战略选择,也是我国推动制造业质量变革、效率变革和动力变革,实现高质量发展的客观要求。 为完成工业大数据分析工作,你所在的小组将应用大数据技术,以Scala作为整个项目的基础开发语言,基于大数据平台综

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 581

OpenClaw:轻量级本地AI智能体工作流引擎实战指南

智能体(Agent)是实现自动化任务编排与多步推理的核心技术范式,其本质是将大模型能力封装为可调度、有状态、能调用工具的执行单元。OpenClaw作为开源轻量级Agent框架,聚焦本地化部署与终端可控性,无需云端API即可完成文件处理、系统命令调用、网页抓取等真实业务操作。它基于YAML配置驱动技能(Skill)注册,支持Python脚本热加载,天然适配国产化信创环境与低配硬件。本文围绕‘零依赖部署—配置精解—技能开发—跨平台排障’主线,详解如何在Windows/macOS/Linux上构建真正属于用户自己

weixin_38166557的博客 351

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WorkBuddy容器版:重构桌面自动化运行时环境

桌面自动化本质是人机协作的运行时问题,传统RPA和脚本工具受限于操作系统耦合、环境不可控与权限混乱,导致‘workbuddy启动非常慢’‘workbuddy网络连接失败’等高频故障。容器化通过运行时抽象、声明式交付与沙箱隔离,将自动化能力封装为可移植、可验证、可编排的独立组件,实现启动秒级响应、零配置分发与跨环境一致性。其技术价值不仅在于性能提升,更在于支撑‘自动化即代码’实践——让OCR识别、Excel解析、钉钉同步等技能成为标准化CLI或HTTP服务,天然适配CI/CD、可观测性与企业安全审计要求。

weixin_34209851的博客 385

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

渗透测试 ( 3 ) --- Metasploit Framework (MSF)

Metasploit专业版和精简版的主要差别在于专业版上面集成了全自动攻击模块,通过远程API集成网络分割测试模块、标准基线审计向导模块、闭环漏洞验证优先处理功能、动态载荷规避防病毒解决方案、钓鱼意识管理和鱼叉式网络钓鱼模块、对OWASP Top 10漏洞的Web应用程序测试模块、高级命令行和Web界面的选择模块。但是,专业版是必须要付费的,所以除非用到非个人的功能,否则没有必要去使用专业版,而且,专业版和精简版的渗透攻击模块是一样的。.........

freeking101的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Discourse论坛部署与SSO集成:Docker架构与企业单点登录实战

Discourse作为现代开源社区平台,其核心价值在于以人类交流行为建模为出发点的交互协议设计。它依托Docker容器化实现多服务强耦合部署(PostgreSQL、Redis、Rails应用),通过Ruby on Rails精准表达复杂状态机与数据库深度集成逻辑,同时以JWT或OAuth2为基础构建轻量级、契约化的单点登录(SSO)体系。这种‘不绑定技术栈、只定义信任边界’的设计,使其天然适配泛微OA、金蝶云、若依RuoYi等主流企业系统,在SaaS、高校、开源项目等场景中支撑高可用、可审计、易扩展的技术社

weixin_34014555的博客 312

Debian12安装有这一篇就够了超级详细

名称请勿修改,否则其他系统无法启动,用于选择EFI系统分区,可启动标志选择开,点击返回。设置域名,主机名称加.con或.net,个人使用随意没影响。设置root密码,务必牢记,否则无法获得root权限操作。插入制安装U盘,(华硕电脑)重启电脑,同时不停按Esc键。准备一个空闲分区,用于安装系统,分区大小不低于20G。选择EFI System p继续,设置引导的安装位置。系统安装位置:选择你准备好的分区,若没有新建。设置网络,有线选第一项,WiFi选第二项。选中插入的U盘,点击select(1)

codestore的博客 5万+

WSL 安装 Debian 12 后,Linux 如何安装 nginx ?

Debian 12 的官方源里应该包含 Nginx,不过可能有两种情况:一种是直接通过 Debian 的仓库安装,另一种是添加 Nginx 的官方仓库来获取最新版本。

belldeep的专栏 615

linux发邮件告警

[root@OMCServer201 ~]# echo `date "+%F %T"` | mail -s "test date" 123@qq.com  提示-bash: mail: command not found  后来想起系统当初是最小化安装的,很多工具包都没有安装,接着发现sendmail也没有安装,于是就一并yum安装完事:   yum -y install mailx sendmail   等待安装完后,再次运行脚本,没有报错,但是邮件确没有发送出去,查看服务器mail日志发现:

wuyepiaoxue789的博客 523

使用公网邮箱发送-Zabbix-报警邮件

邮件系统简要介绍: 电子邮件系统包括两个组件:MUA(Mail User Agent,邮件用户代理)和MTA(Mail Transport Agent,邮件传送代理 postfix)MUA是邮件系统为用户提供的可以读写邮件的界面;而MTA是运行在底层,能够处理邮件的收发工作的程序。 mail和mailx即为负责查看、编写邮件和向MTA发送邮件的MUA。mailx是mail的功能加强版。 注...

Forgetfanhua的博客 926

WSL 安装 Debian 12 后,Linux 如何安装 redis ?

WSL 安装 Debian 后,Debian 12 Linux 如何安装 redis ?

belldeep的专栏 716

wsl上Debain12安装MySQL8.4

wsl debian12 mysql8.4

Fi_fisher的博客 457
上一篇: QuickJS 如何发送一封邮件 ?
下一篇: 用 Lazarus IDE 写一个邮件客户端软件,能收发邮件,编写邮件
belldeep
博客等级 码龄20年 1820粉丝 584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值