Avatar billede webbe Nybegynder
28. juni 2001 - 13:25 Der er 44 kommentarer og
1 løsning

Hvad er der galt?

Hejsa -

Jeg er igang med at lave et admin til udsendelse af nyhedsbrev, men mailen bliver ikke sendt.

Den løber godt nok koden igennem osv. og melder ikke fejl, men jeg får ikke nogen mail!

Her er min kode:

<%
Option Explicit
%>
<%
Dim Connect, rs

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"jupiter\"

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM Test\", Connect, 1, 3
%>
<html>
<head>
<title>Jupiter - Administration</title>
</head>
<body bgcolor=\"#999999\">
<form method=\"post\" action=\"news_letter.asp?action=send\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"5\" width=\"600\">
    <tr>
        <td width=\"600\" align=\"left\" colspan=\"2\"><font face=\"Verdana\" size=\"4\">Send Nyhedsbrev</font></td>
    </tr>
    <tr>
        <td width=\"100\" align=\"left\"><font face=\"Verdana\" size=\"2\">Til:</font></td>
        <td width=\"500\" align=\"left\">
            <select name=\"receiver\">
                <option selected value=\"\">Vælg modtagere</option>
                <option value=\"<%
                                do until rs.EOF
                                    Response.Write(\"\"&rs(\"Mail\")&\"\")
                                rs.MoveNext
                                loop
                                %>\">Testliste</option>
            </select>
        </td>
    </tr>
    <tr>
        <td width=\"100\" align=\"left\"><font face=\"Verdana\" size=\"2\">Fra:</font></td>
        <td width=\"500\" align=\"left\"><input type=\"TEXT\" name=\"navn\" size=\"30\" value=\"Jupiter Webmaster\"></td>
    </tr>
    <tr>
        <td width=\"100\" align=\"left\"><font face=\"Verdana\" size=\"2\">Svar-mail:</font></td>
        <td width=\"500\" align=\"left\"><input type=\"TEXT\" name=\"email\" size=\"30\" value=\"Jupiter@Scanbox.Com\"></td>
    </tr>
    <tr>
        <td width=\"100\" align=\"left\"><font face=\"Verdana\" size=\"2\">Emne:</font></td>
        <td width=\"500\" align=\"left\"><input type=\"TEXT\" name=\"subject\" size=\"30\"></td>
    </tr>
    <tr>
        <td width=\"100\" align=\"left\" valign=\"top\"><font face=\"Verdana\" size=\"2\">Text:</font></td>
        <td width=\"500\" align=\"left\"><textarea name=\"body\" rows=\"20\" cols=\"50\"></textarea></td>
    </tr>
    <tr>
        <td width=\"100\" align=\"left\"></td>
        <td width=\"500\" align=\"left\"><input type=\"SUBMIT\" name=\"submit\" value=\"Send nyhedsbrev\"></td>
    </tr>
</table>
</form>
<%
Select Case Request.QueryString(\"action\")

Case \"send\"

Dim Mail, Fra, Afsender, Modtager, Tekst, Emne

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"jupiter\"

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM Test\", Connect, 1, 3

Set Fra = Request.Form(\"navn\")

Set Afsender = Request.Form(\"email\")

Set Modtager = Request.Form(\"receiver\")

Set Emne = Request.Form(\"subject\")

Set Tekst = Request.Form(\"body\")

Set Mail = Server.CreateObject(\"CDONTS.NewMail\")
Call Mail.Send(Fra, rs(\"Mail\"), Emne, Tekst)
Set Mail = Nothing

Response.Redirect(\"news_letter_ok.asp\")

End Select
%>
</html>
</body>
Avatar billede okay Nybegynder
28. juni 2001 - 13:30 #1
jeg har en script du kan bruge !
Avatar billede keysersoze Ekspert
28. juni 2001 - 13:35 #2
skal det ikke se nogenlunde sådan ud:

Set mail = CreateObject(\"CDONTS.NewMail\")
mail.From = afsender
mail.To = modtager
mail.Subject = emne
mail.Body = tekst                    
mail.Send
set mail = Nothing
Avatar billede webbe Nybegynder
28. juni 2001 - 13:38 #3
okay:

Det vil jeg gerne se!
Avatar billede okay Nybegynder
28. juni 2001 - 13:39 #4
men det er JMail
Avatar billede webbe Nybegynder
28. juni 2001 - 13:41 #5
Det er lige meget - bare det fungerer!
Avatar billede keysersoze Ekspert
28. juni 2001 - 13:44 #6
erhm - hvad med at prøve mit?
Avatar billede webbe Nybegynder
28. juni 2001 - 13:45 #7
keysersoze:

Har jeg lige prøvet, men det ser ikke ud til at fungere!

Stadig samme problem som beskrevet ovenfor!
Avatar billede webbe Nybegynder
28. juni 2001 - 13:46 #8
okay:

Jeg skal stadig kunne trække e-mailadresserne fra en tabel!!!!
Avatar billede keysersoze Ekspert
28. juni 2001 - 13:49 #9
understøtter dit webhotel CDONTS så?
Avatar billede webbe Nybegynder
28. juni 2001 - 13:50 #10
keysersoze:

Ja - vores webserver har CDONTS.....så det er ikke der der er problemer!

Skulle vel også få en fejlmeddelelse hvis ikke det var installeret!?
Avatar billede keysersoze Ekspert
28. juni 2001 - 14:01 #11
nu har jeg ikke indsigt i hvad de forskellige variabler indeholder... men

mail.From =

SKAL så vidt jeg husker være en e-mail...
Avatar billede webbe Nybegynder
28. juni 2001 - 14:03 #12
keysersoze:

Tester lige!
Avatar billede webbe Nybegynder
28. juni 2001 - 14:03 #13
keysersoze:

Ser ikke ud til at fungere! :o(
Avatar billede keysersoze Ekspert
28. juni 2001 - 14:13 #14
prøv lige at teste med dette (direkte fra activeserverpages):

<%
Dim objCDO
\' Her skabes en reference til CDONTS.NewMail objektet
Set objCDO = Server.CreateObject(\"CDONTS.NewMail\")

\' Her sættes egenskaber og metoder
objCDO.From = \"info@activeserverpages.dk\"
objCDO.To = \"modtager@email.adr\"
objCDO.Subject \"Kære modtager\"
objCDO.Body \"Dette er blot en test\"
objCDO.Send

\' Husk at fjerne dit objekt fra hukomelsen
Set objCDO = Nothing
%>
Avatar billede okay Nybegynder
28. juni 2001 - 14:15 #15
bare det fungere....

hvor vil du teste den henne ??
Avatar billede webbe Nybegynder
28. juni 2001 - 14:19 #16
okay:

Hos os selv - på vores egen webserver!
Avatar billede webbe Nybegynder
28. juni 2001 - 14:22 #17
keysersoze:

Får nu følgende fejl:

Microsoft VBScript runtime error \'800a01b6\'

Object doesn\'t support this property or method: \'To\'

/admin/news_letter.asp, line 78
Avatar billede keysersoze Ekspert
28. juni 2001 - 14:23 #18
men nu skal der jo nok stå noget andet end

info@activeserverpages.dk
modtager@email.adr
Avatar billede webbe Nybegynder
28. juni 2001 - 14:25 #19
keysersoze:

Var fordi der skulle være et lighedstegn (=)

Men det hjalp ikke på det!
Avatar billede webbe Nybegynder
28. juni 2001 - 14:26 #20
Brugte min egen e-mailaddy!
Avatar billede keysersoze Ekspert
28. juni 2001 - 14:36 #21
jeg har lige lavet testen fra min egen side med dette:

<%
Dim objCDO
\' Her skabes en reference til CDONTS.NewMail objektet
Set objCDO = Server.CreateObject(\"CDONTS.NewMail\")

\' Her sættes egenskaber og metoder
objCDO.From = \"kim@soze.dk\"
objCDO.To = \"kim@soze.dk\"
objCDO.Subject = \"Kære modtager\"
objCDO.Body = \"Dette er blot en test\"
objCDO.Send

\' Husk at fjerne dit objekt fra hukomelsen
Set objCDO = Nothing
%>

og det virker som det skal...
Avatar billede webbe Nybegynder
28. juni 2001 - 14:39 #22
Underligt!!!!?????

Har skrevet det på samme måde, dog med et andet variable-name, men det skulle jo ikke have nogen betydning når bare det er defineret korrekt!!!!
Avatar billede keysersoze Ekspert
28. juni 2001 - 14:51 #23
må jeg prøve at se det du har testet?
Avatar billede webbe Nybegynder
28. juni 2001 - 14:53 #24
Select Case Request.QueryString(\"action\")

Case \"send\"

Dim Mail, Fra, Afsender, Modtager, Tekst, Emne

Fra = Request.Form(\"navn\")

Modtager = Request.Form(\"receiver\")

Emne = Request.Form(\"subject\")

Tekst = Request.Form(\"body\")

Set Mail = Server.CreateObject(\"CDONTS.NewMail\")
Mail.From = \"Jupiter@Scanbox.com\"
Mail.To = \"michaelpe@scanbox.com\"
Mail.Subject = \"Kære modtager\"
Mail.Body = \"Dette er en test\"
Mail.Send
Set Mail = Nothing

Response.Redirect(\"news_letter_ok.asp\")

End Select


----------

Men med den kode henter den jo ikke noget fra mine formularfelter!!!??
Avatar billede keysersoze Ekspert
28. juni 2001 - 15:07 #25
lav en asp-fil med udelukkende dette og INTET andet... virker dette, er det lettere at sætte det op til det du skal bruge...

-----------------------

<%
Dim objCDO
\' Her skabes en reference til CDONTS.NewMail objektet
Set objCDO = Server.CreateObject(\"CDONTS.NewMail\")

\' Her sættes egenskaber og metoder
objCDO.From = \"Jupiter@Scanbox.com\"
objCDO.To = \"michaelpe@scanbox.com\"
objCDO.Subject = \"Kære modtager\"
objCDO.Body = \"Dette er blot en test\"
objCDO.Send

\' Husk at fjerne dit objekt fra hukomelsen
Set objCDO = Nothing
%>
Avatar billede webbe Nybegynder
28. juni 2001 - 15:14 #26
Der sker ikke noget som helst!!!!
Avatar billede keysersoze Ekspert
28. juni 2001 - 15:25 #27
ja... hvis det ikke virker så kan jeg ikke hjælpe dig!

det virker fint hos mig, og kommer der ingen fejl og ingen mail hos dig, så er der ikke noget jeg kan gøre...

har du mulighed for andre mailkomponenter?
Avatar billede webbe Nybegynder
28. juni 2001 - 15:26 #28
Hmmm - det ved jeg ikke - det må jeg lige undersøge!

Du har ikke evt. noget der kører via j-mail??

Ser jo ud som om \"okay\" ikke gør noget videre i sagen....indtil videre ihvert fald! ;o)
Avatar billede keysersoze Ekspert
28. juni 2001 - 15:39 #29
Set JMail = Server.CreateObject(\"JMail.SMTPMail\")
JMail.ServerAddress = \"din.smtp\"
JMail.Sender = din.email
JMail.Subject = subj
JMail.Body = tekst
JMail.AddRecipient modtager.email
JMail.Execute
set JMail = nothing
Avatar billede webbe Nybegynder
28. juni 2001 - 15:40 #30
Henter den så fra de formularfelter jeg har??
Avatar billede webbe Nybegynder
28. juni 2001 - 15:45 #31
Hvad med modtager.email???
Hvad skal den ændres til??

E-mailadresserne skal jo hentes fra en DB!?
Avatar billede keysersoze Ekspert
28. juni 2001 - 15:47 #32
læg det fx i en variabel

email = rs(\"email\")
JMail.AddRecipient email
Avatar billede keysersoze Ekspert
28. juni 2001 - 15:48 #33
nej... den henter ikke noget - det er et eksempel...
Avatar billede slash Nybegynder
28. juni 2001 - 21:25 #34
Når man bruger CDONTS bruger man så ikke den indbyggede smtp-server i IIS til at sende mailsene videre til fx. en exhange server, som så smider dem videre rundt i verden?

Avatar billede slash Nybegynder
28. juni 2001 - 21:26 #35
men det ligger måske implicit i denne post at det er konfigureret korrekt?
Avatar billede keysersoze Ekspert
28. juni 2001 - 21:56 #36
man må jo gå ud fra et webhotellet er sat ordentligt op...
Avatar billede webbe Nybegynder
29. juni 2001 - 08:31 #37
Fedt - det virker nu......det er bare kanon!

Tak skal du ha\' keysersoze - du er min helt! ;o)
Avatar billede webbe Nybegynder
29. juni 2001 - 08:32 #38
Lige en ting mere.....hvordan separerer man e-mailadresserne rigtigt???

Er det med ; eller med ,?????
Avatar billede keysersoze Ekspert
29. juni 2001 - 10:41 #39
separerer dem? så den samme besked bliver sendt til flere?

ved det ikke - plejer at loope mig igennem

do while...

mail

loop
Avatar billede webbe Nybegynder
29. juni 2001 - 10:45 #40
Henter jo mine mailadresser fra en tabel jo!

Og den tabel henter jo allerede på den foregående side!

Den samme besked skal jo ud til en masse brugere!

Kan du ikke prøve at skrive hvordan du ville gøre det???

Avatar billede keysersoze Ekspert
29. juni 2001 - 10:55 #41
do while not rs.eof

besked-ting

rs.movenext
loop
Avatar billede webbe Nybegynder
29. juni 2001 - 10:55 #42
Og besked-ting er alt det med JMail!?
Avatar billede keysersoze Ekspert
29. juni 2001 - 11:02 #43
ja...
Avatar billede webbe Nybegynder
29. juni 2001 - 11:06 #44
Okay - har lige testet - poster hele løsningen når jeg har rettet den til!

Tak for hjælpen - pointene er dine! ;0)
Avatar billede webbe Nybegynder
29. juni 2001 - 11:39 #45
Her er den endelige løsning:

<%
Dim subj, tekst, email, Connect, rs

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"jupiter\"

subj = Request.Form(\"subject\")
tekst = Request.Form(\"body\")
email = Request.Form(\"receiver\")

If email = \"Danmark\" Then
    Set rs = Server.CreateObject(\"ADODB.Recordset\")
    rs.Open \"SELECT E_mail FROM Jupiter_club_dk\", Connect, 1, 3
End if

If email = \"Norge\" Then
    Set rs = Server.CreateObject(\"ADODB.Recordset\")
    rs.open \"SELECT E_mail FROM Jupiter_club_no\", Connect, 1, 3
End if

If email = \"Sverige\" Then
    Set rs = Server.CreateObject(\"ADODB.Recordset\")
    rs.open \"SELECT E_mail FROM Jupiter_club_se\", Connect, 1, 3
End if

If email = \"Finland\" Then
    Set rs = Server.CreateObject(\"ADODB.Recordset\")
    rs.open \"SELECT E_mail FROM Jupiter_club_sf\", Connect, 1, 3
End if

If email = \"England\" Then
    Set rs = Server.CreateObject(\"ADODB.Recordset\")
    rs.open \"SELECT E_mail FROM Jupiter_club_uk\", Connect, 1, 3
End if

do while not rs.EOF

Set JMail = Server.CreateObject(\"JMail.SMTPMail\")

JMail.ServerAddress = \"mail.scanbox.dk\"
JMail.Sender = \"jupiter@scanbox.com\"
JMail.Subject = subj
JMail.Body = tekst
JMail.AddRecipient rs(\"Mail\")
JMail.Execute

rs.MoveNext
loop

Set JMail = Nothing

Response.Redirect(\"news_letter_ok.asp\")
%>
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