c# - 向本地主机发送电子邮件/“捕获”外发电子邮件
问题描述
我使用十几台设备,它们的操作软件可以选择在错误时发送电子邮件。我更愿意在运行它们的主机 PC 上捕获该电子邮件的详细信息(即用于记录、通过 Slack 自动通信详细信息等),而不是将它们发送到某个地方的收件箱。
有没有办法让软件通过电子邮件发送一个地址,该地址本质上是在同一台 PC 上运行的轻量级代码,模仿 SMTP 服务器之类的东西(这将允许我获取消息的内容)?我见过的其他解决方案类似于设置一个成熟的服务器,这似乎有点矫枉过正。
解决方案
您可以配置SmtpClient
将电子邮件保存到特定文件夹,而不是通过网络发送。检查这个答案。
此外,您必须以可以与“发送者”的不同实现一起使用的方式设计系统,以便您可以在需要时替换它,例如在测试期间。在这种情况下,您可以轻松地提供代理实现,该实现将捕获电子邮件内容,然后将其发送到localhost
,或添加方面(重试、记录性能......)。
推荐阅读
- r - 仅在数据帧的特定行或日期上应用具有滚动估计窗口的函数
- tensorflow - Can a pretrained Deep learning model of objects (chair, table) be used to do transfer learning and classify telecom equipment?
- excel - VBA 中的求和积
- c++ - C ++提取和计算文本文件中的单词数
- reactjs - 如何修复我的 GET http://localhost:4000/contacts 404(未找到)错误
- ruby - 为什么 Ruby "RACK_ENV=test" deos 不能用于 db:create 指定测试数据库?
- powershell - 每次在 Powershell 5.0 中运行函数时递增一个数字
- azure-functions - Azure Functions - 添加设置数组?
- serverless-framework - 如何使用无服务器传递引用外部文件?
- html - 将高度设置为 100vh 有效,但我在移动浏览器中得到一个滚动条