Я уже несколько недель бил головой об этом, но сегодня был тот день, когда я обещал, что я исправлю это. Пока что я потерпел неудачу.SmtpClient на Hosted Exchange Server дает - попытка была сделана для доступа к сокету способом, запрещенным его разрешениями доступа xxx.xxx.xxx.xxx:25
Я пытаюсь отправить электронное письмо из размещенного приложения MVC через сервер Hosted Exchange. ИТ-отдел сказал и подтвердил, что они разрешили IP-адрес приложения MVC. Однако следующий код дает мне «Произошла попытка получить доступ к сокету, запрещенным разрешениями доступа ###. ###. ###. ###: 25" каждый раз.
ActionResult Test()
{
MailMessage message = new MailMessage();
message.From = new MailAddress("valid.email.address");
message.Subject = "Test Email";
message.To.Add(new MailAddress("another.valid.email.address"));
message.Body = "Hey, this is a test!";
using (SmtpClient client = new SmtpClient())
{
client.Credentials = new System.Net.NetworkCredential("username", "password");
client.Port = 25;
client.EnableSsl = true; // Either true or false gives same result
client.Host = "actual.host.url";
try
{
client.Send(message);
}
catch (Exception ex)
{
ViewBag.LogMessage = string.Format("Error: {0}<br />{1}<br />{2}", ex.Message, ex?.InnerException.Message, ex?.InnerException?.InnerException.Message);
return View();
}
ViewBag.LogMessage = string.Format("client.Host: {0}<br />Client.Port: {1}<br />Client.EnableSsl: {2}<br />message.To[0].Address: {3}", client.Host, client.Port, client.EnableSsl ? "true" : "false", message.To[0].Address);
}
return View();
}
Значение СообщениеЖурнала является:
Error: Failure sending mail.
Unable to connect to the remote server
An attempt was made to access a socket in a way forbidden by its access permissions ###.###.###.###:25
Любые предложения будут приветствоваться! Я пробовал порт 587 без везения. Я пробовал с и без учетных данных, с или без SSL, имя пользователя, соответствующее по адресу или нет. У меня не хватило сил, чтобы попробовать.
Спасибо!
Вы пробовали какие-либо другие порты помимо '25'? По умолчанию порт 25 заблокирован довольно сильно в зависимости от версии обмена. Я бы попробовал 465 и дал ему шанс. Его недокументированный SMTP-порт для обмена с использованием STARTTLS. В моих программах я должен фактически использовать порт 587, чтобы отправить что-нибудь, так что дайте этот снимок также –
@KevinBBurns Я пробовал 25, 587 и 465 с включенным и отключенным SSL без везения. ИТ-специалист сказал, что 25 использовали другие службы, отправляющие почту, поэтому я думаю, что это на моем конце. – ESDictor
Если вы подключаетесь к этому порту на этом компьютере, вы получаете какие-либо данные? –