Я хотел бы добавить функциональность электронной почты в программу WinForm, которую я пишу на C #.У меня есть приложение для Android с функцией электронной почты.Он настраивает электронную почту, но затем позволяет пользователю выбрать программу электронной почты и т. Д. Как только это будет выбрано, тело письма будет завершено.Но выбор состоит в том, чтобы выбрать, какое приложение электронной почты они хотят использовать.
Я бы хотел сделать то же самое в Windows, но я не понимаю, как это сделать.Я пробовал следующее (на основе других вопросов и ответов здесь):
_from = new MailAddress("my email address", "xxxx");
_to = new MailAddress("xxxx3333@gmail.com", "yyyy");
SmtpClient smtp = new SmtpClient("smtp.gmail.com");
smtp.UseDefaultCredentials = true;
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp msgMail = new MailMessage();
smtp.Body = text;
msgMail.Subject = "Subject";
msgMail.From = _from;
msgMail.To.Add(_to);
smtp.EnableSsl = true;
msgMail.Subject = _subject;
msgMail.Body = Text;
msgMail.IsBodyHtml = false;
try
{
mailClient.Send(msgMail);
}
catch (Exception ex)
{
string msg = "Exception caught in sending the email: " + ex.ToString();
showMessage(msg);
}
msgMail.Dispose();
Но я получаю:
SMTP-сервер требует безопасного соединения или клиент не был аутентифицирован,Ответ сервера был: 5.5.1 Требуется аутентификация.
При использовании аналогичного кода в Android моя программа просто получает форму электронной почты, но позволяет пользователю решать, какое добавление электронной почты они будут использовать.
Есть ли способ сделать это в Windows?
Здесь есть почти идентичный вопрос и ответ:
C # Windows Form Application - отправка электронной почты с помощью gmail smtp
И я думаю, что следовал этому, но ... не работает.