Úprava automaticky odeslaného e-mailu   zodpovězená otázka

VB.NET, I/O operace, .NET

Zdravím,

prosím o pomoc s formátováním automaticky odeslané zprávy.

        'Odeslání potvrzovacího e-mailu
         
        Dim Msg As New System.Net.Mail.MailMessage()
        Msg.From = New System.Net.Mail.MailAddress("[email protected]", "AQUAcoolers")
        Msg.To.Add(New System.Net.Mail.MailAddress(CType(CreateUserWizardStep1.ContentTemplateContainer.FindControl("Email"), TextBox).Text))
        Msg.Subject = "AQUAcoolers - registrace"
        Msg.Body = "Gratulujeme ..."
        Msg.IsBodyHtml = True
        Dim Post As New System.Net.Mail.SmtpClient("mail.aquacoolers.com")
        Post.Credentials = New System.Net.NetworkCredential("[email protected]", "******")
        Post.Send(Msg)
        Msg.Dispose()

Výše uvedeným kódem odesílám po registraci uživatele potvrzovací e-mail. Rád bych však, aby tato zpráva vypadala trochu elegantněji (tj. např upravit pozadí, vložit obrázek atd.)

Může prosím někdo poradit jak na to, nevím jak bych to všechno nastavil na řádku (Msg.Body = "Gratulujeme ...")

Předem díky.

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

Musíte do vlastnosti Body vložit HTML dokument. Takže ideálně použít nějaký šablonovací systém. Obrázky pak musíte navíc vložit jako přílohu.

Krásná ukázka na:

http://www.4guysfromrolla.com/articles/0...

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

Děkuji. Udělal jsem to následovně a formátování funguje ...

        'Odeslání potvrzovacího e-mailu
        Dim message As String = String.Empty

        Using sr As New System.IO.StreamReader(Server.MapPath("~/NewUserMail_F.htm"))
            message = sr.ReadToEnd() ' precte soubor
        End Using
         
        Dim Msg As New System.Net.Mail.MailMessage()
        Msg.From = New System.Net.Mail.MailAddress("[email protected]", "AQUAcoolers")
        Msg.To.Add(New System.Net.Mail.MailAddress(CType(CreateUserWizardStep1.ContentTemplateContainer.FindControl("Email"), TextBox).Text))
        Msg.Subject = "AQUAcoolers - registrace"
        Msg.Body = message
        Msg.IsBodyHtml = True
        Dim Post As New System.Net.Mail.SmtpClient("mail.aquacoolers.com")
        Post.Credentials = New System.Net.NetworkCredential("[email protected]", "*****")
        Post.Send(Msg)
        Msg.Dispose()

Tělo zprávy je uloženo v souboru "~/NewUserMail_F.htm", ale nevím jak do tohoto souboru vložit vlastnosti textových polí zadaných v registračním formuláři, aby se v potvrzovacím mailu odeslalo zadané UserName atd.

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

Tady by měl právě přijít ke slovu ten šablonovací systém. Možná bude ale nejjednodušší řešení v html souboru použít nějaká jednoznačné zástupné slova, které následně nahradíte. Například:

<html>
<body>
 Ahoj uživateli %username%!
</body>
</html>

Pak je zapíšete:

message = message.Replace("%username%", userName)
nahlásit spamnahlásit spam 0 odpovědětodpovědět

v tom html souboru je to jasné, ale kde mám v kódu použít to

message = message.Replace("%username%", userName)

díky za pomoc

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

Už je to OK!

Mockrát díky

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