Первый хост зависит только от отправителя. Таким образом, вы можете проанализировать txt_from.Text
, чтобы узнать, какой хост вам нужно будет использовать:
private string GetHost(string SenderEmailAddress)
{
string host = "";
try
{
if (SenderEmailAddress.Contains("@gmail."))
host = "smtp.gmail.com";
else if (SenderEmailAddress.Contains("@live.") || SenderEmailAddress.Contains("@hotmail."))
host = "smtp.live.com";
else if (SenderEmailAddress.Contains("@yahoo."))
host = "smtp.mail.yahoo.com";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return host;
}
Приведенный выше метод будет иметь дело с "тремя"известные ", и, кроме того, вы можете предоставить своему пользователю дополнительный ручной хост с помощью текстового поля в вашей форме, отметьте Отправить SMTP-письмо , потому что для Yahoo есть хитрость