0

我想向我自己的 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

这可能吗?如果是这样,我该如何实现?

4

1 回答 1

0

简短的回答是您无法可靠地实现这一目标。你可以让它在某些情况下工作,但不是全部。

如今,大多数电子邮件服务器都有垃圾邮件过滤器和检查电子邮件的规则,在大多数情况下,空的“发件人”地址将导致特殊处理。有时这只是意味着接收邮件服务器的垃圾邮件分数略高,但在某些情况下,一个空的“发件人”地址会导致您的电子邮件被默默地丢弃在比特桶中。您无法控制这一点,您的用户也无法控制。这完全取决于接收邮件服务器的配置方式。

最简单的选项通常是允许用户配置发件人地址和 SMTP 服务器。有些服务器需要登录才能发送消息,因此您必须考虑这一点。如果连接来自 ISP(或工作场所)拥有的地址并且电子邮件地址是注册为属于那里的电子邮件地址,则许多 ISP 邮件服务器(以及大多数内部工作场所邮件服务器)不需要登录。一些 ISP——而且这个数字显然在增长——无论如何都需要 SMTP 登录才能发送邮件。

另一种选择是设置源域,配置域的 SPF 记录以允许来自任何 IP 地址的电子邮件,并在该域中使用标准的“发件人”地址。这样做的不利之处在于,一旦有人发现您以这种方式打开了一个域,他们就会开始使用它来发送垃圾邮件,而您将被关闭。

还有许多其他选项都有自己的问题。问题之一是它们通常要花钱——一些设置成本,大多数选项还有持续成本——或者让你承担某种责任。

让您的用户选择。让他们尝试各种选项,看看什么对他们有用:没有“发件人”地址、用户定义的“发件人”地址(与“收件人”地址相同是一个很好的第一次尝试)、部分 SMTP 登录、完全 SMTP 登录等。如果他们对您的代码不够信任,无法输入密码,让他们在 gmail 或其他东西上创建一个一次性帐户来运行邮件。

于 2014-06-02T02:55:07.860 回答