Правильный способ передачи имени пользователя / пароля в SmtpClient (.NET) - PullRequest
3 голосов
/ 03 августа 2010

Вопрос слишком простой, но все равно оцените краткий ответ. Я бы хотел, чтобы SmtpClient получил имя пользователя / пароль из файла App.config. Из MSDN / схемы я понял, что правильный файл (отрывок) должен выглядеть так:

  <system.net>
    <mailSettings>
      <smtp from="foo@bar.com">
        <network
          host="mail.bar.com"
          port="25"
          userName="foouser"
          password="barpassword"
        />
      </smtp>
    </mailSettings>
  </system.net>

Я пытаюсь найти подходящий API для вызова при инициализации состояния SmtpClient, чтобы почта и пароль были аккуратно извлечены из XML:

  var client = new SmtpClient( ... ); // how to fetch the servername?
  client.Credentials = new NetworkCredential( ... , ... ); // how to fetch user/pass
  client.Send(message);

Есть ли правильный / специальный способ получения servername, user, password или я должен просто вызвать "обычный" API, такой как ConfigurationManager.AppSettings["server"]?

1 Ответ

3 голосов
/ 03 августа 2010

Ничего особенного не требуется, просто инициализируйте и отправьте:)

SmtpClient client = new SmtpClient();
client.Send(mymessagehere);

Вот и все, это вытащит из конфига.

...