похоже, что на удаленном хосте может быть отдельный сервер, который они используют для отправки почты, или что вы должны быть в белом списке вместе с хостом для отправки почты, и может потребоваться имя пользователя и пароль. Я не смотрел на ваш код, но я вижу такие ошибки, когда включен брандмауэр, и машина, пытающаяся отправить, не имеет доступа через брандмауэр, так как брандмауэр не отвечает вообще, вы получаете ответ типа «Сервер сделал не отвечать своевременно »или« сервер не ответил через определенное время », я предполагаю, что перед тем, как вы разместили здесь, вы спросили у хостинг-провайдера об отправке почты, и каковы предпочтения относительно того, как это следует делать осуществляться? право
если да, пожалуйста, предоставьте информацию о том, что они сказали
Вот пример кода для отправки электронной почты:
var smtpClient = new SmtpClient();
var message = new MailMessage();
smtpClient.port = 25;
message.from = "test@test.com";
message.To.Add("me@workemail.com,client@office.com";
message.Subject = "Contact from website";
message.IsBodyHtml = true;
message.Body = "<html><head></head><body>TEST</body></html>"
try {
smtpClient.Host = "relay.server.you.have.from.host";
smtpClient.Send(message);
} catch( Exception ) {
// host is down or we are local try other servers
// here you can have more try / catch
smtpClient.Host = "127.0.0.1"
smtpClient.Send(message);
}