【问题标题】:How to send email from a program _without_ using a preexisting account?如何使用预先存在的帐户从程序_without_发送电子邮件?
【发布时间】:2010-09-06 23:55:47
【问题描述】:

我希望我的程序能够通过电子邮件向我发送错误报告。如何在不硬编码用户名/密码/SMTP 服务器/等的情况下做到这一点。进入代码? (这样做将允许用户反编译程序并接管此电子邮件帐户。)

有人告诉我你可以通过远程登录到 25 端口做一些事情,但我对细节非常模糊。 Google 上的大多数代码 sn-ps 都假定您有一个预先存在的帐户,这在这种情况下不起作用。

我正在使用 .NET v3.5(尤其是 C#),但我想这些想法在大多数语言中都足够相似。只要您意识到我正在为离线应用程序执行此操作,并且不向我提供 PHP 代码或其他内容,我们就可以了。

【问题讨论】:

    标签: .net email smtp


    【解决方案1】:

    只要您的帐户在 gmail.com 上,就可以在您的程序中将 gmail-smtp-in.l.google.com 设置为传出 SMTP 服务器。使用该服务器时,您无需提供密码即可向 gmail-accounts 发送电子邮件。

    【讨论】:

    • 如果您要:地址不是 gmail 地址怎么办?对于这种情况,有什么好的替代方案?
    【解决方案2】:

    我会创建一个网络服务来连接。该网络服务应根据您的程序提供的数据发送电子邮件。所有敏感的访问数据都保存在 Web 服务端,因此更安全。

    【讨论】:

      【解决方案3】:

      如果程序必须直接向您发送电子邮件,则它必须以某种方式获取该信息,因此坚定的攻击者也可以获取该信息。

      您是否考虑过在某个地方托管一个简单的 http 表单或 Web 服务,以便您可以从应用程序那里发布您需要的信息(无需身份验证),然后将其保存以供以后手动查看,或者从那个服务器?

      【讨论】:

        【解决方案4】:

        我认为最好的计划是将错误信息提交给在您的控制下运行的某个服务(在简单的情况下是一个 Web 表单),然后该服务可以发送一封电子邮件(或以其他适当的方式记录它)。

        如果假定发送电子邮件对最终用户有益,另一种选择是让用户输入自己的 SMTP 服务器(如果需要,还可以输入用户名/密码) - 在 Unix 系统上,您可以只使用 sendmail并依靠用户对其进行正确配置。我曾经在一个系统上工作,它使用这种方法向用户发送系统计划任务的报告,并且效果很好。

        【讨论】:

          【解决方案5】:

          您需要做的是了解您正在使用的 ISP 的 SMTP 服务器,因为当您使用自己的 ISP 的 SMTP 服务器时,您不会被视为垃圾邮件中继,因此您无需任何身份验证即可通过.

          不幸的是,并非总是能够轻松获取该信息,或者有一些小例外情况不允许您匿名登录,就像您在公司中使用 Exchange 时一样...

          起初我想加密你的信息并在运行时解密它们,但它仍然可以通过嗅探网卡来获得。但是,您可以将它与某处的网络服务结合起来,该服务将为您进行解密和邮寄(或直接将信息发送到您喜欢的网络服务),就像其他人已经建议的那样。

          【讨论】:

            【解决方案6】:
            MailMessage msg = new MailMessage("someone@foo.com", "someoneelse@bar.com");
            msg.Subject = "Check it out!";
            msg.Body = "Visit stackoverflow.com!";
            SmtpClient client = new SmtpClient("some.smtp.server", 25);
            client.Send(msg);
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-04-05
              • 2018-10-01
              • 2012-03-30
              • 2011-05-29
              • 2011-03-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多