Мне нужно иметь возможность отправлять электронную почту через Unity (для входа в систему), но я не могу заставить что-либо работать.У меня НЕТ ошибки, параметр timeout не работает (ничего не происходит после его достижения) и электронное письмо не отправляется.Он просто «зависает» в ожидании smtp.SendMailAsync (mail);Я использую пользовательские smtps (один из моей компании), и это не может быть проблемой.
public static async void TestSendMail(string to)
{
try
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress("mail");
mail.To.Add(new MailAddress(to));
mail.Subject = "test task";
mail.Body = "Body";
mail.IsBodyHtml = true;
using (var smtp = new SmtpClient())
{
smtp.UseDefaultCredentials = false;
smtp.Host = ("myhost");
smtp.Port = 465;
smtp.Credentials =
new System.Net.NetworkCredential("mail", "password");
smtp.EnableSsl = false; // not sure if it should be false, but tried both anyway
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.Timeout = 1000; // it doesn't do anything
Debug.Log("Trying to send..."); // being printed
await smtp.SendMailAsync(mail); // freeze here
Debug.Log("Sent !"); // not being printed
}
}
catch (Exception e)
{
Debug.Log(e.ToString()); // no exception thrown
}
}
Первый журнал отладки печатается, но не второй, и никакое исключение или что-либо выбрасывается.Я просто не понимаю ...