Avatar billede celine Nybegynder
22. november 2004 - 22:27 Der er 6 kommentarer og
1 løsning

Sende mail til en gruppe

Hej

Jeg er ved at oprette et nyhedsbrev og skal have sendt dette nyhedsbrev til alle i databasen(access). Hvordan får jeg alle emails trukket ud og hvordan får jeg dem adskilt + jeg vil gerne skjule emailadresserne så modtageren ikke kan se hvem der ellers får mail.

Min kode for den side hvor jeg skriver nyhedsbrevet:

dim emails
dim Email
dim dbConn
dim rs

Set dbConn = Server.CreateObject("ADODB.Connection")
strDSN = strPlacering
strSql = "SELECT Email FROM nyhedsbrev"
dbConn.Open strSql

rs.Open strSql, dbConn, adOpenForwardOnly

    while not(rs.EOF)
        emails = rs.fields("Email")
        rs.movenext   
    wend
   
    rs.close
    set rs = nothing
    dbConn.close
    set dbConn = nothing
   
%>
<center>
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td>
<h2>Opret nyhedsbrev for Struer Museum</h2>
<br>
<form action="send.asp" name="nyhed" method="post">

'her skal mail adresserne så vises
<input type="text" name="emails" value=" <%=Email%>">

<input type="text" name="titel" value="" size="30">
<br><br>
<textarea name="indhold" rows="10" cols="60" wrap="hard"></textarea>
<br><br>
<input type="text" name="titel2" value="" size="30">
<br><br>
<textarea name="indhold2" rows="10" cols="60" wrap="hard"></textarea>
<br><br>
<input type="text" name="titel3" value="" size="30">
<br><br>
<textarea name="indhold3" rows="10" cols="60" wrap="hard"></textarea>
<br><br>

<input type="submit" name="sendbrev" value=" Send ">&nbsp;&nbsp;
<input type="reset" name="nulstil" value=" Nulstil ">
</form>

Min kode for send.asp

<%@LANGUAGE="VBSCRIPT"%>
<%option explicit%>
<!-- #include file="connection.asp" -->
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
dim titel1
dim indhold1
dim titel2
dim indhold2
dim titel3
dim indhold3
dim emails

emails = Request.Form("emails")
titel1 = Request.Form("titel1")
indhold1 = Request.Form("indhold1")
titel2 = Request.Form("titel2")
indhold2 = Request.Form("indhold2")
titel3 = Request.Form("titel3")
indhold3 = Request.Form("indhold3")

   
   
set msg = server.CreateObject("JMail.Message")
msg.Logging = true
msg.Silent = true
   
   
msg.From = "mail@struermuseum.dk"
msg.FromName = "Struer Museum"
msg.AddRecipientBCC emails
msg.Subject    = "Nyhedsbrev fra Struer Museum"
msg.Body        = "<table width=""300"" border=""0""><tr><td bgcolor=""silver"">" & titel1 & "<br><br>" & indhold1 & "</td></tr>" &_
                "<tr><td>" & titel2 & "<br><br>" & indhold2 & "</td></tr>" &_
                "<tr><td bgcolor:""silver"">" & titel3 & "<br><br>" & indhold3 & "<br><br>Se mere på vores website" &_
                "<a href=""www.struermuseum.dk</a></td></tr></table>"" target="_blank">http://www.struermuseum.dk"">www.struermuseum.dk</a></td></tr></table>"

%>
<table align="center">
<tr><td><h2><font color="#660000">Nyhedsbrevet er sendt med succes!
<%
    if not msg.Send("localhost") then
        Response.Write "<pre>" & msg.Log & "</pre>"
    else   
    Response.Redirect("send.asp")
    end if   

%>
</font></h2>
<br><a href="../main.htm">Tilbage</a>
</td></tr>
</table>
</body>
</html>


håber en eller anden kan hjælpe.
celine
Avatar billede ellebaek Nybegynder
22. november 2004 - 22:34 #1
hmm...

Har lidt svært ved at lure din kode..

Men vil mene du skal gøre noget i stilen af:

<center>
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td>
<h2>Opret nyhedsbrev for Struer Museum</h2>
<br>
<form action="send.asp" name="nyhed" method="post">

<input type="text" name="titel" value="" size="30">
<br><br>
<textarea name="indhold" rows="10" cols="60" wrap="hard"></textarea>
<br><br>
<input type="text" name="titel2" value="" size="30">
<br><br>
<textarea name="indhold2" rows="10" cols="60" wrap="hard"></textarea>
<br><br>
<input type="text" name="titel3" value="" size="30">
<br><br>
<textarea name="indhold3" rows="10" cols="60" wrap="hard"></textarea>
<br><br>

<input type="submit" name="sendbrev" value=" Send ">&nbsp;&nbsp;
<input type="reset" name="nulstil" value=" Nulstil ">
</form>

Min kode for send.asp

<%@LANGUAGE="VBSCRIPT"%>
<%option explicit%>
<!-- #include file="connection.asp" -->
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
dim titel1
dim indhold1
dim titel2
dim indhold2
dim titel3
dim indhold3
dim emails

titel1 = Request.Form("titel1")
indhold1 = Request.Form("indhold1")
titel2 = Request.Form("titel2")
indhold2 = Request.Form("indhold2")
titel3 = Request.Form("titel3")
indhold3 = Request.Form("indhold3")

 
  dim emails
dim Email
dim dbConn
dim rs
  Set dbConn = Server.CreateObject("ADODB.Connection")
strDSN = strPlacering
strSql = "SELECT Email FROM nyhedsbrev"
dbConn.Open strSql

rs.Open strSql, dbConn, adOpenForwardOnly


 
set msg = server.CreateObject("JMail.Message")
msg.Logging = true
msg.Silent = true
 
 
msg.From = "mail@struermuseum.dk"
msg.FromName = "Struer Museum"

    while not(rs.EOF)
msg.AddRecipientBCC rs.fields("Email")
        rs.movenext 
    wend

msg.Subject    = "Nyhedsbrev fra Struer Museum"
msg.Body        = "<table width=""300"" border=""0""><tr><td bgcolor=""silver"">" & titel1 & "<br><br>" & indhold1 & "</td></tr>" &_
                "<tr><td>" & titel2 & "<br><br>" & indhold2 & "</td></tr>" &_
                "<tr><td bgcolor:""silver"">" & titel3 & "<br><br>" & indhold3 & "<br><br>Se mere på vores website" &_
                "<a href=""www.struermuseum.dk</a></td></tr></table>"" target="_blank">http://www.struermuseum.dk"">www.struermuseum.dk</a></td></tr></table>"

%>
<table align="center">
<tr><td><h2><font color="#660000">Nyhedsbrevet er sendt med succes!
<%
    if not msg.Send("localhost") then
        Response.Write "<pre>" & msg.Log & "</pre>"
    else 
    Response.Redirect("send.asp")
    end if 
rs.close
    set rs = nothing
    dbConn.close
    set dbConn = nothing

%>
</font></h2>
<br><a href="../main.htm">Tilbage</a>
</td></tr>
</table>
</body>
</html>
Avatar billede celine Nybegynder
22. november 2004 - 23:18 #2
Hej

Jeg har prøvet det du foreslår og får nu en fejl : Siden kan ikke vises, http fejl 500/intern serverfejl.
Avatar billede apo Praktikant
23. november 2004 - 18:36 #3
I stedet for:

while not(rs.EOF)
    emails = rs.fields("Email")
    rs.movenext   
wend

Vil jeg bruge:

Do While Not(rs.EOF)
    emails = rs.fields("Email")
    rs.Movenext   
Loop

Desuden... Når man dimensionerer (Dim) sparer man plads ved at gøre således:

Dim titel1, indhold1, titel2, indhold2, titel3, indhold3, emails

Bare et hint :-)

Apo
Avatar billede apo Praktikant
23. november 2004 - 18:38 #4
Hvis jeg skal tage udgangspunkt i ellebaeks forslag vil det se således ud:

Do While Not(rs.EOF)
  msg.AddRecipientBCC rs.fields("Email")
  rs.movenext 
Loop

Apo
Avatar billede apo Praktikant
23. november 2004 - 18:49 #5
Spørgsmål: Hvorfor kalder du emails med rs.fields("Email") ???

Serverfejlen kan skyldes at den ikke kan genkende 'fields' (jeg kan ikke finde andre steder i din kode, hvor du definerer 'fields'.

Hvis mit eksempel ikke virker, skal du måske blot nøjes med at skrive følgende:

Do While Not(rs.EOF)
  msg.AddRecipientBCC rs("Email")
  rs.movenext 
Loop

(Uden 'fields')

Apo
Avatar billede celine Nybegynder
28. november 2004 - 15:01 #6
hej apo

dit tips virkede så kom med et svar.

der er lige en anden ting. Når folk tilmelder sig vil jeg gerne at de selv modtager en mail med bekræftigelse på at de er tilmeldt og virksomheden skal have en mail fordi nyhedsbrevet skal sendes fra outlook express.

Min kode:
<%
dim dbConn
dim strSQL
dim objRec
dim emailadr

dim send
dim strDSN

emailadr = Request.Form("emailadr")

function tjek_email(emailadr)
tjek_email = false
        Set dbConn = Server.CreateObject("ADODB.Connection")
        set objRec = Server.CreateObject("ADODB.recordset")
       
strDSN  = strPlacering
dbConn.Open strDSN

        strSQL = "SELECT * from nyhedsbrev"

    with objRec
        .Open strSQL, dbConn, adOpenForwardOnly, , adCmdText
        while not .EOF
            if .fields("Email") = emailadr then
            tjek_email = true
            end if
            .moveNext
        wend
        .Close
    end with
set objRec = nothing
end function   



email_findes
sub email_findes
    if not (tjek_email(emailadr)) then
            opret_email
        else
            Response.Redirect("findes.htm")
    end if
end sub

strServer        = "srvsmtp.struer.net"
strFrom            = "mail@struermuseum.dk"
strMailTo        = "mail@struermuseum.dk"
strSubject        = "Tilmelding til Struer Museums Nyhedsbrev"
strBody            = emailadr& "er nu tilmeldt Struer Museums nyhedsbrev."



' tilmelding via mail
set jmail = server.createobject("JMAIL.SMTPMail")
JMail.ContentType        = "text/html"
jMail.sendername        = "Struer Museum"
jMail.sender            = strFrom
jMail.Subject            = strSubject
jMail.ServerAddress        = strServer
jMail.Body                = strBody
jMail.Priority            = 1
jMail.AddRecipient strMailTo

hent_email(emailadr)
jMail.AddRecipientCC emailadr

jMail.execute   
set JMail = nothing


if Err.number = 0 then
    opret_mail   
else
    Response.Write("<font face=Verdana size=1 color=#c00000><br><b>Der er opstået en fejl !!!</b><br>"&err.description&"</font>")
end if

function hent_email(emailadr)
    set dbConn = Server.CreateObject("ADODB.Connection")
    strDSN = strPlacering
    dbConn.Open strDSN
    strSql = "SELECT Email FROM nyhedsbrev ORDER BY id desc"
    dbConn.execute(strSql)
   
    dbConn.close
    set dbConn = nothing
end function
Avatar billede apo Praktikant
28. november 2004 - 16:08 #7
Jamen så smider jeg et svar :-)

Hvis virksomhederne skal have en kvittering på at de er tilmeldt nyhedsbrevet, skal denne afsendes i forbindelse med tilmeldingen. Dette kan du gøre ved at sende de samme oplysninger til kunden, som du selv modtager ved tilmeldingen (dette skal ikke gøres i forbindelse med udsendelse af nyhedsbrevet, men i selve tilmeldingsprocessen).

Er ovenstående kode den du bruger til at modtage tilmeldingerne? Hvorfor gør du brug af både JMail og database? (din kode er ikke lige til at gennemskue)

Apo
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