Automatický email   zodpovězená otázka

ASP.NET WebForms

Dobrý den, mám vytvořený formulář pro odesílání automatického emailu, viz níže. Všechno funguje jak má, jenom se mi nelíbí, že ve web.config je natvrdo nastaveno smtp spojení.

<system.net>
    <mailSettings>
      <smtp from="..." deliveryMethod="Network">
        <network host="..." port="..." userName="..." password="..." />

      </smtp>
    </mailSettings>
  </system.net>

Chtěla bych, toto nastavení přemístit do nějakého, nejspíše textového, souboru a pouze tento soubor k formuláři připojit. Poraďte prosím jak na to.

Mimochodem website tvořím ve Visual Studiu 2008, program.jazyk VB.

Protected Sub SendEmail(ByVal sender As Object, ByVal e As EventArgs)
       
        Const ToAddress As String = "...."
        Const FromAddress As String = "..."
          
           
        Dim mm As New MailMessage(FromAddress, ToAddress)
        mm.Subject = "Žádost o registraci"
        mm.Body = "..."
        mm.IsBodyHtml = False

        Dim smtp As New SmtpClient
        smtp.Send(mm)
        Response.Redirect("~/Default.aspx")
    End Sub

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A proč Vám vadí,že je nastavení v souboru web.config?K tomuto účelu,tam tento soubor je. :))Přijde mi hodně zbytečné vytvářet další soubor(navíc txt).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Typicky se toto nastavení ukládá do web.configu, protože celá webová aplikace používá většinou jeden konkrétní mailový server pro odesílání pošty.

Pokud to chcete mít někde jinde (například proto, že každá stránka musí používat jiný server, nebo o tom, který server se použije, musíte rozhodnout dynamicky na základě něčeho), klidně si to uložte do nějakého souboru a před odesláním mailu načtěte. Vše se dá nastavit před odesláním mailu na objekt SmtpClient, kterým zprávy udesíláte - server i port v konstruktoru, uživatelské jméno a heslo přes vlastnost Credentials - vytvoříte instanci třídy NetworkCredential s daným jménem a heslem a přiřadíte je tam.

Jinak přípona TXT není vhodná, pokud někdo uhádne jméno souboru, může si ho stáhnout; jedině že by tento soubor byl ve složce App_Data, tam se pak už nikdo nedostane. To ostatně také doporučuji.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za obě odpovědi. Vyzkoušela jsem obojí, všechno funguje. Rozhodnutí co použít si ještě rozmyslím. :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback