Не могу отправить электронное письмо через Unity c # - PullRequest
0 голосов
/ 11 февраля 2019

Мне нужно иметь возможность отправлять электронную почту через 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
    }

}

Первый журнал отладки печатается, но не второй, и никакое исключение или что-либо выбрасывается.Я просто не понимаю ...

...