1

所以我制作了这个用户输入密码并登录的应用程序,基本上是一个储物柜。我希望如果用户忘记了他的密码,一封带有重置代码的电子邮件可以发送到他们在应用程序第一次运行期间输入的电子邮件 ID。到目前为止,我找到了 EmailComposeTask,但它并没有完全符合我的要求。有没有其他方法可以发送电子邮件,或者有人指出我正确的方向。

4

1 回答 1

1

首先,我会在处理用户请求的服务器上执行此操作,而不是在电话本身上执行此操作 - 原因有很多,从安全基础设施开始。但是,假设您仍然想这样做。

EmailComposeTask对于您的特定情况,这是一个不好的选择,因为用户可以在发送消息之前编辑消息的内容。此外,如果没有在设备上携带帐户但持有设备的其他人决定重置密码,他将能够快速看到传出的重置代码。

因此,您可以使用LiveMailMessage 之类的库。这使您能够以无人值守的方式发送电子邮件,例如:

MailMessage mailMessage = new MailMessage();
mailMessage.Email = "test@email.id";
mailMessage.Password = "somePassword";
mailMessage.AccountType = MailMessage.accountType.MicrosoftAccount;
mailMessage.To = "destination@email.id";
mailMessage.Subject = "Reset Link";
mailMessage.Body = "Here is the reset link";
mailMessage.Send();

您也可以快速了解为什么这也有问题 - 您必须保护本地密码存储,因为您需要指定外发邮件帐户的凭据。

于 2013-03-12T01:50:51.513 回答