首页 > 解决方案 > 向本地主机发送电子邮件/“捕获”外发电子邮件

问题描述

我使用十几台设备,它们的操作软件可以选择在错误时发送电子邮件。我更愿意在运行它们的主机 PC 上捕获该电子邮件的详细信息(即用于记录、通过 Slack 自动通信详细信息等),而不是将它们发送到某个地方的收件箱。

有没有办法让软件通过电子邮件发送一个地址,该地址本质上是在同一台 PC 上运行的轻量级代码,模仿 SMTP 服务器之类的东西(这将允许我获取消息的内容)?我见过的其他解决方案类似于设置一个成熟的服务器,这似乎有点矫枉过正。

标签: c#smtpemail

解决方案


您可以配置SmtpClient将电子邮件保存到特定文件夹,而不是通过网络发送。检查这个答案。

此外,您必须以可以与“发送者”的不同实现一起使用的方式设计系统,以便您可以在需要时替换它,例如在测试期间。在这种情况下,您可以轻松地提供代理实现,该实现将捕获电子邮件内容,然后将其发送到localhost,或添加方面(重试、记录性能......)。


推荐阅读