在我的应用程序中,我想发送一封电子邮件,它在调试模式下工作正常,但是当我发布它时,我收到了这个错误。我已经发现了异常,但这会导致它无法发送电子邮件,我真的需要这个功能才能工作。这是如何引起的?如何解决它在部署时也可以工作?我已经在多部手机上对其进行了测试,他们都给出了这个例外,所以使用的手机不是问题。
对应代码:
this.Dismiss();
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Name", "Email"));
message.To.Add(new MailboxAddress("Name", "Email"));
message.Subject = "Test"
message.Body = new TextPart("plain")
{
Text = @"Test"
};
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
try
{
client.ServerCertificateValidationCallback = (s, c, h, e) => true;
client.Connect("smtp.gmail.com", 25, false);
// Note: since we don't have an OAuth2 token, disable
// the XOAUTH2 authentication mechanism.
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.Authenticate("Account", "Password");
client.Send(message);
client.Disconnect(true);
Toast.MakeText(this.Activity, "Thanks for the email", Android.Widget.ToastLength.Short).Show();
}
catch (System.Net.Sockets.SocketException e)
{
Toast.MakeText(this.Activity, "Connection error, please try again later!", Android.Widget.ToastLength.Short).Show();
}
在“姓名”和“电子邮件”是相应的信息,但在本例中进行了更改。与客户端中的“帐户”和“密码”相同。为了安全而进行身份验证。
编辑:错误代码为 11001,消息无法解析主机“smtp.gmail.com”,这也发生在其他端口上。我觉得奇怪的是,它在我的模拟器上调试时可以工作,但在部署时却不能在手机上工作。