C # Отправка SMTP электронной почты (да, я знаю) - PullRequest
0 голосов
/ 16 мая 2018

Я понимаю, что этот вопрос задавался сто раз, но, к сожалению, у меня все еще остается та же проблема.Итак, я преобразовал чье-то решение Vb.Net здесь в C #, но я дошел до smtpClient.Send, и мое приложение зависает до истечения времени ожидания.Я пропустил exe через брандмауэр, так что проблема не в этом.Любая помощь в том, что я пропустил / ошибся, будет принята с благодарностью.Вот мой код

        MailMessage mailMsg = new MailMessage();
        mailMsg.To.Add("a@b.com");
        // From
        MailAddress mailAddress = new MailAddress("x@y.com");
        mailMsg.From = mailAddress;

        // Subject and Body
        mailMsg.Subject = "subject";
        mailMsg.Body = "body";

        SmtpClient smtpClient = new SmtpClient("smtp.virginmedia.com", 465);

        System.Net.NetworkCredential credentials =
           new System.Net.NetworkCredential("x@y.com", "MyPassword");
        smtpClient.EnableSsl = true;
        smtpClient.Credentials = credentials;
        //smtpClient.
        smtpClient.Send(mailMsg);

Ура заранее Robbo

1 Ответ

0 голосов
/ 16 мая 2018

Добавьте следующее в ваш app.config. Запустите приложение снова. Теперь вы увидите точно, где происходит тайм-аут в журнале. Если это происходит во время подключения, вы заблокированы брандмауэром или используете неправильный порт. Но, может быть, это происходит в другое время?

<system.diagnostics>
  <sources>
    <source name="System.Net">
      <listeners>
        <add name="TraceFile"/>
        <add name="TraceConsole"/>
      </listeners>
    </source>
    <source name="System.Net.Sockets">
      <listeners>
        <add name="TraceFile"/>
      </listeners>
    </source>
  </sources>
  <sharedListeners>
    <add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log"/>
    <add name="TraceConsole" type="System.Diagnostics.ConsoleTraceListener"/>
  </sharedListeners>
  <switches>
    <add name="System.Net" value="Verbose"/>
    <add name="System.Net.Sockets" value="Verbose"/>
  </switches>
  <trace autoflush="true"/>
</system.diagnostics>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...