是否可以以编程方式发送电子邮件而无需使用任何实际的电子邮件帐户

10 .net c# email windows-phone-7

我正在考虑在我的游戏中实施"报告错误/建议"选项,但是我不太确定如何才能实现这一目标.我没有自己的服务器或任何东西,所以我不能只发送用户写入的文本.

我提出的唯一方法是客户端会写一条消息,我会将其发送到一个电子邮件帐户,我可以在那里阅读它们.但是,我不希望用户需要通过他们的个人帐户发送报告.我不太确定如何实现这一点,谷歌搜索没有提出任何好的建议.

我没有做很多网络工作,所以如果你能逐步解释(甚至在代码中)这个过程,我真的很感激.

我正在使用C#,正在为Windows Phone 7编写游戏.

aro*_*oth 9

是的,这绝对是可能的.从相对较低的角度来看,您需要:

  1. 解析要发送到的电子邮件帐户的MX(邮件交换器)服务器.
  2. 打开MX服务器的套接字.
  3. 发送相应的SMTP命令以将电子邮件传递到收件人帐户.您基本上可以自由地将"发件人"地址设置为您想要的任意内容.

SMTP是一种非常简单/人性化的协议,因此手动完成所有这些工作并不是一项巨大的努力.同时,有许多预先构建的库可以为您处理所有这些(除了可能是收件人的MX服务器的分辨率).

请注意,以这种方式发送的电子邮件更有可能被过滤为垃圾邮件(通常是因为发件人的IP /主机名不会与您决定使用的传出电子邮件地址上的任何域匹配).

另请注意,既然您可以将"发件人"地址设置为任何地址,您可以选择询问用户是否要提供他们的实际联系地址,如果他们这样做,您可以将其设为"发件人"地址以便您可以如果有必要,实际上会与他们取得联系.

  • 如果您拥有**自己的** SMPT 服务器并将其配置为允许任何人发送邮件,这可能会起作用。但是大多数公共 SMTP 服务器会拒绝从随机主机发送的邮件。所以我认为这是不可行的。 (2认同)
  • @BurhanKhalid - 大多数(如果不是全部)SMTP服务器丢弃匿名*传出*连接/中继尝试(另外,配置任何SMTP服务器以允许任何人*发送*邮件是一个[坏主意](http:// en .wikipedia.org /维基/ Open_relay)).但是,在这种情况下*没有外发SMTP服务器*(用户的设备成为外发邮件"服务器").大多数SMTP服务器允许匿名传入连接.这是该协议的基础.作为垃圾邮件过滤的一部分,大多数人会进行反向DNS查询,是的,但很少有人会在此基础上拒绝邮件. (2认同)