Хранение учетных данных SMTP для приложения VB.Net - PullRequest
1 голос
/ 08 апреля 2010

народ,

Я хранил строки подключения SQL в web.conf, что нормально, но теперь мне нужно хранить учетные данные SMTP где-нибудь в защищенном месте. web.conf выглядит как наиболее вероятное место с момента его защиты, но как их хранить?

Я добавил детали в свой web.conf, но не уверен, как ссылаться на них

<system.net>
   <mailSettings>
   <smtp>
    <network 
      host ="server"
      userName ="username"
      password ="password"
      defaultCredentials =" false"
      port =" 25"
    />
  </smtp>
  </mailSettings>
</system.net>

Отправка почты:

      Dim mail As New MailMessage()

        'set the addresses
        mail.From = New MailAddress("billy.jones@networkroi.co.uk")
        mail.To.Add(ToAddress)

        'set the content
        mail.Subject = "User Request Submitted via Client Portal"
        mail.Body = "text in here"
        mail.IsBodyHtml = True

        ' authenticatin
        Dim basicAuthenticationInfo As New System.Net.NetworkCredential("username", "-password-")


        'send the message
        Dim smtp As New SmtpClient("servername")
        smtp.UseDefaultCredentials = False
        smtp.Credentials = basicAuthenticationInfo

        smtp.Send(mail)

- Джонси

1 Ответ

4 голосов
/ 08 апреля 2010

Вы можете сделать несколько подходов. У каждого есть свои достоинства.

  • Если вы хотите, чтобы учетные данные сервера были настраиваемыми, вы должны сохранить их в таблице базы данных.
  • Если вы считаете, что они будут довольно статичными, но вам не нужно перекомпилировать код, чтобы изменить их, используйте web.config (или app.config, когда это применимо).
  • Вы также можете заглянуть в реестр, если хотите, чтобы их можно было настраивать с сервера на сервер.

Если вы конкретно спрашивали, как хранить учетные данные SMTP в файле web.config, вы можете сделать что-то вроде этого:

<configuration>
   <appSettings>
      <add key="SMTP_Server" value="my.smtpserver.com" />
      <add key="SMTP_Username" value="myusername" />
      <add key="SMTP_Password" value="mypassword" />
   </appSettings>
</configuration>

Если вам нужна помощь в получении значений из appSettings, ознакомьтесь с этой статьей .

...