Avatar billede Slettet bruger
25. maj 2005 - 22:14 Der er 26 kommentarer og
1 løsning

Mailliste problem

Hejsa
Så er jeg tilbage igen, jeg har en mailliste (hente på Activeserverpages.dk).
Men når jeg prøver at køre med den, så vil den ikke som jeg.

Koden på siden :

<%
' --------------------------------------------------------------------------------
' Dette eksempel er skrevet af Dennis Knappe
' Eksemplet kan downloades fra http://www.activeserverpages.dk, og er freeware
' --------------------------------------------------------------------------------
Response.Buffer = True
strMode = Request.QueryString("mode")

'// Dette er vores connection streng til databasen
tempConn = "PROVIDER=MSDASQL; UID=; PWD=; DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\web\localuser\pivskid.dk\database\mobilsalg.mdb"

If Request.Form("Send") <> "" Then
    '// Her putter vi værdien af de indtastede felter i en variabel
    strSender = Request.Form("Afsender")
    strSubject = Request.Form("Emne")
    strMessage = Request.Form("Besked")
    strMailServer = Request.Form("Mailserver")

    '// Her åbner vi databasen, og trækker alle email adresse ud i et array
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open tempConn
    strSQL = "SELECT Email FROM maillingliste"
    Set rs = myConn.Execute(strSQL)
    arrEmail = rs.GetRows()
    myConn.Close
    Set myConn = Nothing

    '// Her laver vi et loop igennem vore email array, og sender beskeden til alle de tilmeldte
    Set objMailer = Server.CreateObject("ASPMail.ASPMailCtrl.1")
    For num = 0 to Ubound(arrEmail,2)
        strResult = objMailer.SendMail(strMailserver, arrEmail(0, num), strSender, strSubject, strMessage)
    Next
    Set objMailer = Nothing
    strMode = "messagessendt"

    '// Her sletter vi alt buffered output, og redirecter siden, med et parameter der fortæller at vi har sendt til listen
    Response.Clear
    Response.Redirect("mailliste.asp?mode=finish")
End If
%>
<html>

<head>
<title>Mailliste</title>
</head>

<body>
<div align="center"><center>

<table border="0" width="600" cellspacing="0" cellpadding="3" style="border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-top: 1px solid rgb(0,0,0); border-bottom: 2px solid rgb(0,0,0)">
  <tr>
    <td width="100%" bgcolor="#000000"><p align="center"><font face="verdana" size="4" color="#FFFFFF"><strong>Mailliste</strong></font></td>
  </tr>
  <tr align="center">
    <td width="100%"><%
Select Case strMode
Case "finish"
    Response.Write "<p><font face=arial size=2>Besked er sendt til mailliste</font></p>"
    Response.Write "<p><font face=arial size=2><a href=mailliste.asp>Tryk her for at lave en ny besked</a></font></p>"
Case Else
%>
<form method="POST" action="mailliste.asp">
      <table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td valign="middle" align="left" colspan="2"><font face="verdana" size="2"><strong><br>
          </strong>Indtast venligst oplysningerne i følgende felter:<strong><br>
          &nbsp; </strong></font></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><font face="verdana" size="2"><strong>Mailserver</strong></font></td>
          <td valign="middle" align="left"><input type="text" name="Mailserver" size="40"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><strong><div align="right"><p><font face="verdana" size="2">Afsender</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="Afsender" size="40"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><font face="verdana" size="2"><strong>Emne</strong></font></td>
          <td valign="middle" align="left"><input type="text" name="Emne" size="40"></td>
        </tr>
        <tr>
          <td valign="top" align="left"><div align="right"><p><font face="verdana" size="2"><strong>Besked</strong></font></td>
          <td valign="middle" align="left"><textarea rows="5" name="Besked" cols="40"></textarea></td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><br>
          <input type="submit" value="Send" name="Send"></td>
        </tr>
      </table>
    </form>
<% End Select %>
    </td>
  </tr>
  </table>
</center></div>
</body>
</html>

---------------------------------------------------------------
Problemet :

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/admin/mailliste.asp, line 29

800401f3


Nogen der kan (vil hjælpe) ?
Avatar billede Slettet bruger
25. maj 2005 - 22:15 #1
lige en oplysning mere :
Linie 29 er
Set objMailer = Server.CreateObject("ASPMail.ASPMailCtrl.1")
Avatar billede busschou Praktikant
25. maj 2005 - 22:16 #2
har din udbyder den komponent installeret?
Avatar billede Slettet bruger
25. maj 2005 - 22:17 #3
bruger unoeuro.com efter sigene skulle de ha det :

Følgende ASP komponenter er installeret:

ServerObjects-komponenter:
• AspMAIL
• AspPOP3
• AspHTTP
• AspDNS
• AspIMAGE

Dimac-komponenter:
• w3 JMail
• w3 Sockets

aspSmart-komponenter:
• aspSmartUpload

Persits Software-komponenter:
• AspUPLOAD
• AspXUpload
• AspJpeg
• AspPDF
Avatar billede busschou Praktikant
25. maj 2005 - 22:19 #4
Så lige denne her
http://activedeveloper.dk/artikler/default.asp?articleid=127
Ret smart lille ting egentlig :o)
Avatar billede busschou Praktikant
25. maj 2005 - 22:22 #5
prøv evt udskifte linjen med
Set objMailer = Server.CreateObject("SMTPsvg.Mailer")
bare som et forsøg
Avatar billede busschou Praktikant
25. maj 2005 - 22:23 #6
for så vidt jeg kan se af det link jeg gav så er dit object fra "OCXMail" mens det sidste jeg skrev er fra "ASPMail"
Avatar billede Slettet bruger
25. maj 2005 - 22:24 #7
http://www.mobilsalg.pivskid.dk/serverstatus.asp har lige smidt den op den dims du fandt på active
Avatar billede busschou Praktikant
25. maj 2005 - 22:26 #8
Ja der kan du netop se at du ikke kan benytte den du benytter...der er et spørgsmålstegn ud for den
Men udfor ASPMail står der "Mailer"
Så prøv rette det som skrevet...
Det er muligt at man ikke kan sende i eet hug men så kan det splittes op - altså så man først sætter afsender, så emne, så besked, osv osv
se evt her
http://activedeveloper.dk/artikler/default.asp?articleid=72
Avatar billede Slettet bruger
25. maj 2005 - 22:27 #9
Microsoft VBScript runtime error '800a01c3'

Object not a collection: 'objMailer.SendMail'

/admin/mailliste.asp, line 31
Avatar billede Slettet bruger
25. maj 2005 - 22:27 #10
fik jeg ud af at sætte din linie ind hehe
Avatar billede busschou Praktikant
25. maj 2005 - 22:27 #11
ok så skal det deles op
Avatar billede Slettet bruger
25. maj 2005 - 22:29 #12
Det vil så sige at jeg skal ha den her sat inde et sted :

<%
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "ActiveDeveloper.dk"
Mailer.FromAddress= "korrekt@email.adr"
Mailer.RemoteHost = "mail.domain.dk"
Mailer.AddRecipient "Jens", "jens@danmark.dk"
Mailer.Subject = "Dette er et glimrende e-mail komponent"
Mailer.BodyText = "Kære læser" & VbCrLf & "Denne mail er afsendt med ASPMail"
If Mailer.SendMail Then
    Response.Write "Din e-mail er sendt."
Else
    Response.Write "Der opstod en fejl: " & Mailer.Response
End If
Set Mailer = Nothing
%>
Avatar billede busschou Praktikant
25. maj 2005 - 22:29 #13
denne her skal du lave om
--
strResult = objMailer.SendMail(strMailserver, arrEmail(0, num), strSender, strSubject, strMessage)
--
til det som du kan se på mit sidste link
Altså
objMailer.RemoteHost = strMailserver
objMailer.Subject = strSubject
osv osv
og så til sidst
objMailer.Send
Avatar billede busschou Praktikant
25. maj 2005 - 22:30 #14
ja præcis.. det skal bare sættes til de rigtige ting inden i din løkke :o)
Avatar billede Slettet bruger
25. maj 2005 - 22:32 #15
<%
' --------------------------------------------------------------------------------
' Dette eksempel er skrevet af Dennis Knappe
' Eksemplet kan downloades fra http://www.activeserverpages.dk, og er freeware
' --------------------------------------------------------------------------------
Response.Buffer = True
strMode = Request.QueryString("mode")

'// Dette er vores connection streng til databasen
tempConn = "PROVIDER=MSDASQL; UID=; PWD=; DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\web\localuser\pivskid.dk\database\mobilsalg.mdb"

If Request.Form("Send") <> "" Then
    '// Her putter vi værdien af de indtastede felter i en variabel
    strSender = Request.Form("Afsender")
    strSubject = Request.Form("Emne")
    strMessage = Request.Form("Besked")
    strMailServer = Request.Form("Mailserver")

    '// Her åbner vi databasen, og trækker alle email adresse ud i et array
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open tempConn
    strSQL = "SELECT Email FROM maillingliste"
    Set rs = myConn.Execute(strSQL)
    arrEmail = rs.GetRows()
    myConn.Close
    Set myConn = Nothing

    '// Her laver vi et loop igennem vore email array, og sender beskeden til alle de tilmeldte
   
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "ActiveDeveloper.dk"
Mailer.FromAddress= "korrekt@email.adr"
Mailer.RemoteHost = "mail.domain.dk"
Mailer.AddRecipient "Jens", "jens@danmark.dk"
Mailer.Subject = "Dette er et glimrende e-mail komponent"
Mailer.BodyText = "Kære læser" & VbCrLf & "Denne mail er afsendt med ASPMail"
If Mailer.SendMail Then
    Response.Write "Din e-mail er sendt."
Else
    Response.Write "Der opstod en fejl: " & Mailer.Response
End If
Set Mailer = Nothing
   


    '// Her sletter vi alt buffered output, og redirecter siden, med et parameter der fortæller at vi har sendt til listen
    Response.Clear
    Response.Redirect("mailliste.asp?mode=finish")
End If
%>
Avatar billede Slettet bruger
25. maj 2005 - 22:33 #16
Sådan ??? er temmelig ny i asp, der er nogle ting, som ikke er alt for nemme, så spørg meget
Avatar billede Slettet bruger
25. maj 2005 - 22:37 #17
Ja og naturligvis mine informationer i de angivende felter...
Avatar billede busschou Praktikant
25. maj 2005 - 22:38 #18
Sådan her vil jeg tro:
---
<%
' --------------------------------------------------------------------------------
' Dette eksempel er skrevet af Dennis Knappe
' Eksemplet kan downloades fra http://www.activeserverpages.dk, og er freeware
' --------------------------------------------------------------------------------
Response.Buffer = True
strMode = Request.QueryString("mode")

'// Dette er vores connection streng til databasen
tempConn = "PROVIDER=MSDASQL; UID=; PWD=; DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\web\localuser\pivskid.dk\database\mobilsalg.mdb"

If Request.Form("Send") <> "" Then
    '// Her putter vi værdien af de indtastede felter i en variabel
    strSender = Request.Form("Afsender")
    strSubject = Request.Form("Emne")
    strMessage = Request.Form("Besked")
    strMailServer = Request.Form("Mailserver")

    '// Her åbner vi databasen, og trækker alle email adresse ud i et array
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open tempConn
    strSQL = "SELECT Email FROM maillingliste"
    Set rs = myConn.Execute(strSQL)
    arrEmail = rs.GetRows()
    myConn.Close
    Set myConn = Nothing

    '// Her laver vi et loop igennem vore email array, og sender beskeden til alle de tilmeldte
    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    For num = 0 to Ubound(arrEmail,2)
        strResult = objMailer.SendMail(strMailserver, arrEmail(0, num), strSender, strSubject, strMessage)
      Mailer.FromName = strSender
      Mailer.FromAddress= strMailserver
      Mailer.RemoteHost = "mail.domain.dk"
      Mailer.AddRecipient "MODTAGERNAVN", arrEmail(0,num)
      Mailer.Subject = strSubject
      Mailer.BodyText = strMessage
      Mailer.SendMail
    Next
    Set Mailer = Nothing
    strMode = "messagessendt"

    '// Her sletter vi alt buffered output, og redirecter siden, med et parameter der fortæller at vi har sendt til listen
    Response.Clear
    Response.Redirect("mailliste.asp?mode=finish")
End If
%>
Avatar billede busschou Praktikant
25. maj 2005 - 22:38 #19
hov og så bare fjerne linjen
strResult = objMailer.SendMail(strMailserver, arrEmail(0, num), strSender, strSubject, strMessage)
Avatar billede busschou Praktikant
25. maj 2005 - 22:39 #20
Jeg skal desværre til at smutte... men jeg håber du kan se ideen i det?
Ellers kommer jeg igen i morgen... :o)
Avatar billede Slettet bruger
25. maj 2005 - 22:58 #21
Det ser ud til at virke, har bare ikke modtaget nogen mail endnu....
Avatar billede busschou Praktikant
26. maj 2005 - 07:12 #22
prøv rette den ene linje
--
Mailer.SendMail
--
til
--
if Mailer.SendMail then
response.write "mailen er sendt"
else
response.write "noget gik galt"
end if
--
Prøv også at tjekke op på om din RemoteHost er rigtig. Som regel kræver udbyderen at det er en mail adresse fra samme domæne der sendes fra for at undgå spam
Avatar billede Slettet bruger
26. maj 2005 - 16:26 #23
Sådan har fundet fejlen, det var min mailserver halløj, jeg ikke havde tastet rigtigt ind. Nu er der sådan set kun et problem, modtog mailen 2 gange :S
Avatar billede Slettet bruger
26. maj 2005 - 16:44 #24
Har vist selv fundet løsningen....

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    For num = 0 to Ubound(arrEmail,2)

Ændret til :

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    For num = 0 to Ubound(arrEmail,1)
Avatar billede Slettet bruger
26. maj 2005 - 16:58 #25
Tror egentlig ikke der er mere, lige nu ihvertfald, som skal laves ved den !

Så kom du med et svar og jeg acceptere det :)

Håber du kan hjælpe en anden gang igen
Avatar billede busschou Praktikant
26. maj 2005 - 21:15 #26
det gør jeg gerne hvis det er jeg kan hjælpe altså :o)
Avatar billede Slettet bruger
26. maj 2005 - 23:53 #27
Jamen det lyder da lækkert ;)
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