我想发送一封匿名电子邮件到我自己的gmail/hotmail/yahoo/任何其他邮件服务地址(我不想发送垃圾邮件或类似的东西)。
为什么?我有一个。net应用程序,我想添加一个"发送日志到开发人员"的功能(附加日志)使用SmtpClient。事实上,我已经读了30多页,并发现,即gmail的smtp客户端不允许匿名连接,和许多其他的事情。
这个想法是接收一个像这样的邮件消息:
From: logs@myapp.com (non-existent email really)
To: myrealaddress@somedomain.com (this would be my real address which will recieve the logs attachments)
Subject: Issue report nºX (auto-generated)
Body: From a textbox
Attachments: logs attached
这可能吗?如果是,我如何实现它?
简短的回答是,您无法可靠地实现这一点。你可以让它在某些情况下工作,但不是全部。
现在大多数电子邮件服务器都有垃圾邮件过滤器和检查电子邮件的规则,在大多数情况下,空的"发件人"地址将导致特殊处理。有时,这只是意味着接收邮件服务器的垃圾邮件得分略高,但在某些情况下,空的"发件人"地址将导致您的电子邮件被无声地放入位桶中。您无法控制这一点,您的用户也无法控制。这完全取决于如何配置接收邮件服务器。
最简单的选项通常是允许用户配置发送地址和SMTP服务器。有些服务器需要登录才能发送消息,所以您必须考虑到这一点。如果连接来自ISP(或工作场所)拥有的地址,并且电子邮件地址是属于那里的,那么许多ISP邮件服务器(以及大多数内部工作场所邮件服务器)不需要登录。有些isp——这个数字显然在增长——无论如何都需要SMTP登录才能发送邮件。
另一种方法是建立一个源域,为该域配置SPF记录,允许来自任何IP地址的电子邮件,并在该域中使用标准的"from"地址。这样做的缺点是,一旦有人发现你以这种方式打开了一个域名,他们就会开始用它来发送垃圾邮件,你就会被关闭。
还有很多其他的选择,它们都有自己的问题。其中一个问题是,它们通常要花钱——一些设置成本,大多数选项也有持续成本——或者让你承担某种债务。
给你的用户选择。让他们尝试各种选项,看看什么对他们有效:没有"从"地址,用户自定义的"从"地址(相同的"到"地址是一个很好的第一次尝试),部分SMTP登录,完整的SMTP登录等。如果他们对你的代码不够信任,不愿意输入他们的密码,让他们在gmail或其他网站上创建一个一次性帐户来运行邮件。