У меня также есть SMTP-сервер с сервером ретрансляции (с разными IP-адресами).Если я отправляю электронное письмо через сервер ретрансляции SMTP, я получаю сообщение об ошибке, но если я использую IP-адрес SMTP вместо IP-адреса сервера ретрансляции, он будет работать нормально.Но с помощью PHP phpmailer оба IP-адреса работают нормально с одинаковыми кодами.
Сообщение об ошибке:
System.Net.Mail.SmtpException: Failure sending mail. ---> System.IO.IOException: Unable to read data from the transport connection: net_io_connectionclosed. at System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine) at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine) at System.Net.Mail.SmtpReplyReaderFactory.ReadLine(SmtpReplyReader caller) at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail.SmtpClient.Send(MailMessage message) --- End of inner exception stack trace --- at System.Net.Mail.SmtpClient.Send(MailMessage message) at SMTP.Contact.btnSubmit_Click(Object sender, EventArgs e)
Нужно ли использовать другой код для сервера ретрансляции?
Образец:
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("abc@abc.com");
mailMessage.To.Add("abc@abc.com");
mailMessage.Subject = "TEST";
mailMessage.Body = "Testing";
mailMessage.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient("123.123.123", 25);
smtpClient.Send(mailMessage);
lblResult.Text = "Your message was sent!";