Avatar billede hehlers Nybegynder
20. april 2005 - 12:03 Der er 13 kommentarer og
1 løsning

Navn i nyhedsmail

Hejsa

Jeg har et nyhedsmail-modul i ASP med brugerer som ligger med navn og email i en ACCESS DB. For at gøre nyhedsmailen lidt personlig kunne jeg godt tænke mig at der i toppen af mailen stod.

Kære "Brugernavn"

Hvordan klarer jeg den?

Jeg har følgende kode nu:
---------------------------------------------
strSQL = "SELECT Email FROM nyhedsmail"
              Set rs =Conn.Execute(strSQL)
             
            if request.Form("TestMail") = "ON" then
                  arrEmail = request.form("TestMailAdr")
            else
                  arrEmail = rs.GetRows()
            end if
           
           
                       
            Conn.Close
              Set Conn = Nothing
           
            'For num = 0 to Ubound(arrEmail,2)
            '    Response.Write(arrMail)
            'Next
           
    Set objMail = Server.CreateObject("JMail.SMTPMail")
    objMail.Silent = True
    objMail.ServerAddress = "mail.minmailserver.dk"
    objMail.Sender = "minemail@minemail.dk"
    objMail.Subject = "Nyhedsmail"
    objMail.HTMLBody = "<Mit HTML>"
   
   
    For num = 0 to Ubound(arrEmail,2)
      objMail.AddRecipient(arrEmail(0, num))
      If objMail.Execute Then
        Response.Write "<font color=green>" & arrEmail(0, num) & " (" & num & ") OK</font><br>"
      Else
        Response.Write "<font color=red>" & arrEmail(0, num) & " (" & num & ") FEJL</font><br>"
      End If
      objMail.ClearRecipients
    Next
    Set objMail = Nothing
-----------------------------------

På forhånd mange tak.. ;)
Avatar billede busschou Praktikant
20. april 2005 - 12:12 #1
hvis du henter navnet med ud af databasen istedet for kun Email
Så kan du vel i feltet
objMail.HTMLBody = "<Mit HTML>"
indsætte navnet
Avatar billede hehlers Nybegynder
20. april 2005 - 13:08 #2
joee det.. :)  Kan du give et eks?
Avatar billede busschou Praktikant
20. april 2005 - 13:11 #3
prøv rette
strSQL = "SELECT Email FROM nyhedsmail"
til
strSQL = "SELECT Email, Navn FROM nyhedsmail"
og rette
objMail.HTMLBody = "<Mit HTML>"
til
objMail.HTMLBody = "<b>Hejsa "&rs("Navn")&"</b>"
Avatar billede busschou Praktikant
20. april 2005 - 13:12 #4
og så skal linjen med obhMail.HTMLBody nok sættes ind i den nederste løkke
Avatar billede hehlers Nybegynder
20. april 2005 - 13:31 #5
Oki, det virker ikke helt for mig´.. ( Er ikke så skarp til det med løkker... )

Jeg har det her:
strSQL = "SELECT Email, Navn FROM nyhedsmail"
              Set rs =Conn.Execute(strSQL)
             
            if request.Form("TestMail") = "ON" then
                  arrEmail = request.form("TestMailAdr")
            else
                  arrEmail = rs.GetRows()
            end if
-----------------------------------

Også det du skrev med: objMail.HTMLBody = "<b>Hejsa "&rs("Navn")&"</b>"

Jeg får fejlen at rs("navn") ikke findes... (Item cannot be found in the collection corresponding to the requested name or ordinal. )
Avatar billede busschou Praktikant
20. april 2005 - 13:36 #6
strSQL = "SELECT Email,Nevn FROM nyhedsmail"
              Set rs =Conn.Execute(strSQL)
           
            if request.Form("TestMail") = "ON" then
                  arrEmail = request.form("TestMailAdr")
            else
                  arrEmail = rs.GetRows()
            end if
         
         
                     
            Conn.Close
              Set Conn = Nothing
         
            'For num = 0 to Ubound(arrEmail,2)
            '    Response.Write(arrMail)
            'Next
         
    Set objMail = Server.CreateObject("JMail.SMTPMail")
    objMail.Silent = True
    objMail.ServerAddress = "mail.minmailserver.dk"
    objMail.Sender = "minemail@minemail.dk"
    objMail.Subject = "Nyhedsmail" 
 
    For num = 0 to Ubound(arrEmail,2)
      objMail.AddRecipient(arrEmail(0, num))
      objMail.HTMLBody = "HEJ "&arrEmail(0, num)
      If objMail.Execute Then
        Response.Write "<font color=green>" & arrEmail(0, num) & " (" & num & ") OK</font><br>"
      Else
        Response.Write "<font color=red>" & arrEmail(0, num) & " (" & num & ") FEJL</font><br>"
      End If
      objMail.ClearRecipients
    Next
    Set objMail = Nothing
Avatar billede busschou Praktikant
20. april 2005 - 13:37 #7
der skal så stå Navn og ikke Nevn
i linjen
objMail.HTMLBody = "HEJ "&arrEmail(0, num)
Er jeg lidt i tvivl om hvordan man hiver navnet ud
Jeg er ikke helt med på hvorfor der er komma i kaldet
prøv evt rette det til
objMail.HTMLBody = "HEJ "&arrEmail(1, num)
og se om det så ikke er navnet
Avatar billede hehlers Nybegynder
20. april 2005 - 13:45 #8
Den fejler desværre stadig ved  " & rs("navn") &"  <p>" & Request.form("indhold") & " i linien med min HTMLBody...

Og stadig med samme fejl:
(Item cannot be found in the collection corresponding to the requested name or ordinal. )
Avatar billede busschou Praktikant
20. april 2005 - 13:47 #9
Lav det sådan her...du fik ikke rettet det til som jeg skrev 13:36:09 tror jeg?..
så sådan her :o)
------
strSQL = "SELECT Email,Navn FROM nyhedsmail"
              Set rs =Conn.Execute(strSQL)
         
            if request.Form("TestMail") = "ON" then
                  arrEmail = request.form("TestMailAdr")
            else
                  arrEmail = rs.GetRows()
            end if
       
       
                   
            Conn.Close
              Set Conn = Nothing
       
            'For num = 0 to Ubound(arrEmail,2)
            '    Response.Write(arrMail)
            'Next
       
    Set objMail = Server.CreateObject("JMail.SMTPMail")
    objMail.Silent = True
    objMail.ServerAddress = "mail.minmailserver.dk"
    objMail.Sender = "minemail@minemail.dk"
    objMail.Subject = "Nyhedsmail"

    For num = 0 to Ubound(arrEmail,2)
      objMail.AddRecipient(arrEmail(0, num))
      objMail.HTMLBody = "HEJ "&arrEmail(1, num)
      If objMail.Execute Then
        Response.Write "<font color=green>" & arrEmail(0, num) & " (" & num & ") OK</font><br>"
      Else
        Response.Write "<font color=red>" & arrEmail(0, num) & " (" & num & ") FEJL</font><br>"
      End If
      objMail.ClearRecipients
    Next
    Set objMail = Nothing
Avatar billede busschou Praktikant
20. april 2005 - 13:48 #10
prøv det ...men hvor kom request.form("indhold" ) fra?
Avatar billede hehlers Nybegynder
20. april 2005 - 13:53 #11
hehe.. Du får lige den fulde kode...

Tror jeg har lavet det sådan der:
-----------------------------------------------
            strSQL = "SELECT Email, Navn FROM nyhedsmail"
              Set rs =Conn.Execute(strSQL)
             
            if request.Form("TestMail") = "ON" then
                  arrEmail = request.form("TestMailAdr")
            else
                  arrEmail = rs.GetRows()
            end if
           
           
                       
            Conn.Close
              Set Conn = Nothing
           
            'For num = 0 to Ubound(arrEmail,2)
            '    Response.Write(arrMail)
            'Next
           
    Set objMail = Server.CreateObject("JMail.SMTPMail")
    objMail.Silent = True
    objMail.ServerAddress = "mail.minserver.dk"
    objMail.Sender = "minemail.dk"
    objMail.Subject = "Nyhedsmail"
     
   
    For num = 0 to Ubound(arrEmail,2)
      objMail.AddRecipient(arrEmail(0, num))
      objMail.HTMLBody = "<html><head><title></title></head><body vlink='#000000' link='#666666' bgcolor='#000000'><table border='5' bordercolor='#FFFFFF' cellpadding='0' cellspacing='0' width='521' align='center'><tr><td><table border='0' cellpadding='0' cellspacing='0' width='521' height='106'><tr><td><img border='0' src='http://www.hgf-fodbold.dk/image/nyhedsmail_top.gif' width='521'></td></tr><tr><td align='center' height='20' bgcolor='#ffffff'><table border='0' cellpadding='2' cellspacing='0'><tr><td><font face='verdana' size='2' color='000000'><b>Nyhedsmail fra Hørning GF</b><p>Til " & rs("navn") &"  <p>" & Request.form("indhold") & "<p><hr><p>Se de nyeste nyheder her:<a href=http://www.hgf-fodbold.dk/nyheder.asp>Sidste nyt</a><p>Se de nyeste serie 3 kampreferater her:<a href=http://www.hgf-fodbold.dk/s3.asp>Serie 3 kampe</a><p>Se de nyeste serie 5 kampreferater her:<a href=http://www.hgf-fodbold.dk/s5.asp>Serie 5 kampe</a><p>Se Topscorelisten her:<a href=http://www.hgf-fodbold.dk/topscorer.asp>Topscorelisten</a><p><br><p>Med venlig hilsen<br><br>Hørning GF<br><a href=http://www.hgf-fodbold.dk>www.hgf-fodbold.dk</a><hr><div align=center><font size=1 color='000000'>For at blive afmeldt nyhedsmailen <a href=http://www.hgf-fodbold.dk/nyhedsmail.asp>klik da her.</a></font></div></td></tr></table></td></tr></table></td></tr></table></body></html>" &arrEmail(1, num)
      If objMail.Execute Then
        Response.Write "<font color=green>" & arrEmail(0, num) & " (" & num & ") OK</font><br>"
      Else
        Response.Write "<font color=red>" & arrEmail(0, num) & " (" & num & ") FEJL</font><br>"
      End If
      objMail.ClearRecipients
    Next
    Set objMail = Nothing
------------------------------------
Request.form("indhold") kommer fra den foregående side, men den har virket helt fint indtil jeg begyndte med at have navnet med.. ;)

Tak for din tålmodighed...
Avatar billede busschou Praktikant
20. april 2005 - 13:58 #12
godt så
Der hvor du skriver rs("navn")
Skal du skrive arrEmail(1,num)
Avatar billede hehlers Nybegynder
20. april 2005 - 14:00 #13
Så virker det weebeeee.. Tusind takker... :) Svar endelig...
Avatar billede busschou Praktikant
20. april 2005 - 14:15 #14
svar :o) godt det virker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester