SMTP 服务器可以保存/显示发送的电子邮件而不是实际发送它们?
我正在寻找适用于 Windows 的 SMTP 服务器,它可以帮助我调试 Web 应用程序中的电子邮件发送。最好有一些软件可以让我看到它们或者只是将它们保存在某个地方,而不是发送电子邮件。
通常我在应用程序中有一个标志,使它们显示电子邮件而不是发送电子邮件,但现在我必须调试一个大型项目 PHP,而不使用电子邮件()的包装器:/
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
从技术上讲,您可以让 SMTP 服务器将电子邮件发送到位于服务器计算机本地的虚拟电子邮箱。这样,您无需离开计算机即可查看它。旁白; Unix 在发送邮件之前会使用 /var/spool/mail 来执行此操作。
You could technically have the SMTP server send the emails to a dummy email box which would be located locally on the server's computer. This way, you can view it without it having to leave your computer. An aside; Unix kind of does this with /var/spool/mail before sending out the mail.
项目有多大?我自己并不是一个精通 Windows 的人,但是每当我必须对我正在使用的代码进行一些巨大的、广泛的更改时,我通常可以从命令行执行此操作:
这会取代所有地方的邮件功能。我确信有一些程序可以为 Windows 提供同等的功能。
我建议处理代码而不是更改 SMTP 服务器的原因是因为它最终是处理当前问题的更主动的方法。如果您需要扩展并添加更多 SMTP 服务器,会发生什么情况?如果您需要完全切换 SMTP 服务器,会发生什么情况?如果 SMTP 服务器出现故障并且您需要保存所有出站邮件直到其恢复,会发生什么情况?花时间进行这个小小的重构更有意义,因为我保证这会在以后减少很多麻烦。
How big is the project? I'm not a big windows guy myself, but whenever I have to make some huge, widespread change to the code I'm working with, I can usually just do this from the command line:
And that replaces the mail function everywhere. I'm sure there are programs that can provide the equivalent functionality for Windows.
The reason I suggest dealing with the code rather than changing the SMTP server is because it's ultimately the more proactive method of dealing with the issue at hand. What happens if you need to scale and add more SMTP servers? What happens if you need to switch SMTP servers entirely? What happens if the SMTP server goes down and you need to save all outbound mail until it's restored? It just makes a lot more sense to take the time to do this little refactor, since I guarantee it'll save a lot of headache down the road.
只需使用 "Python":
从 http://python.org/,然后转到命令行并写入:
执行此操作,您将导入
smptd
模块并通过控制台获取调试输出。如果您不指定传出 SMTP 服务器(因为使用此模式,它的工作方式类似于代理),您尝试发送的任何邮件都将被丢弃,但您会在控制台中看到它。祝你好运!
Just use "The Python":
Download Python 2.7 from http://python.org/, then go to command line and write:
Doing this you'll be importing
smptd
module and getting debug output through the console. If you don't specify an outgoing SMTP server (because using this mode it works like a proxy), any mail you try to send, will be discarded, but you'll see it into the console.Good luck!