因此,根据谷歌的安全页面,允许不安全的第三方应用程序的功能将在几个月后被删除(但我理解他们为什么这么做),这给我的应用程序的“报告错误”功能带来了一点不便,也许我误解了API,但如果我不打算在谷歌官方商店发布我的应用程序,而是在我自己的网站上提供,人们可以下载(在大多数情况下,我个人知道95%的人下载这个文件),我如何验证它,以便我仍然可以使用SMTP通过WinForms应用程序向自己发送邮件?如果我设置了OAuth2。0“测试”帐户,我必须给它一个可以使用该应用的谷歌帐户列表,作为我自己,因为我想通过我自己的帐户作为我的应用发送,但任何下载该应用的人都必须登录我的谷歌帐户才能进行身份验证,他们自己的指南建议下载它生成的令牌文件并在应用中使用
我的应用程序目前的工作方式:用户可以写一个描述并键入一条消息,从我的gmail向我的gmail发送一封SMTP电子邮件(应用程序中有凭据),因此不需要用户登录,这一切都是“自动”发生的,我不想强迫用户登录谷歌帐户,只是为了告诉我应用程序的哪个功能没有按预期工作——希望这是有意义的,如果需要,我可以尝试提供更多细节,以下是我当前的代码,用c#:
void SendReport(bool isFeedback, string context)
{
SmtpClient smtpServer = new SmtpClient("smtp.gmail.com");
smtpServer.Port = 587;
smtpServer.Credentials = new System.Net.NetworkCredential("myGMAILAcc", "myPass...");
smtpServer.EnableSsl = true;
MailMessage msgMail = new MailMessage();
msgMail.From = new MailAddress("myGMAILAcc");
msgMail.To.Add("myGMAILAcc");
msgMail.Subject = "App" + (isFeedback ? " Feedback" : " Bug Report");
msgMail.Body = context;
msgMail.IsBodyHtml = false;
smtpServer.Send(msgMail);
msgMail.Dispose();
MessageBox.Show("Report sent!");
}
这项功能目前完全按照预期工作——用户点击一个按钮,弹出表单窗口,他们输入一些单词,选择是“反馈/建议”还是“错误”,然后点击另一个调用此功能的按钮,几秒钟后“发送报告!”-几个月后,当谷歌改变了安全性,这将不再有效,所以我想我想知道如何保持它的工作,而不抛出一个“身份验证”错误,因为“允许第三方应用程序”不再由谷歌支持,或者可能是一些其他服务或方式,我可以实现我的最终结果?“用户可以快速方便地向我发送一封包含正文的电子邮件”