Avatar billede asker Nybegynder
23. februar 2003 - 00:09 Der er 37 kommentarer og
1 løsning

Kode fra Cdonts til Jmail

Er der nogle der kan hjælpe med at lave nedenstående kode om så den kan kører med Jmail



*************************


<% Server.ScriptTimeout = 1800 %>
<%

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("SpawnedMailer.mdb")

Dim mFrom,mTo,mSubject,mbcc,mBody,mArchive
mFrom = Request.Form("myemail")
mTo = Request.Form("to")
mSubject = Request.Form("subject")
mbcc = Request.Form("users")
mBody = Request.Form("body")
mArchive = Request.Form("archive")

response.write("Nyhedsbrevet er sendt til:<br><br>" & mbcc )


strSQL = "SELECT MailingAddy, MailingID FROM MailingList"
set Res = Conn.Execute(strSQL)
while not Res.EOF
  Set Mail = Server.CreateObject ("CDONTS.NewMail")
  Mail.From = mFrom
  Mail.To = res("MailingAddy")
  Mail.Subject = mSubject                                                                                                                                                                                                                                                                                                                                                                   
  Mail.Body = mBody & "----------------------------------------------------------------------------" & vbcrlf & "Ønsker du at ændre din Email addresse kan du trykke på det her link: "  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Redigere&num=" & res("MailingID") & vbcrlf & vbcrlf & vbcrlf & "STOP med at modtage dette nyhedsbrev. Klik her:"  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Slet&num=" & res("MailingID")
  Mail.BodyFormat = 1
  Mail.Mailformat = CDOMailFormatMIME
  Mail.Send
  Set Mail = Nothing
Res.MoveNext
wend

if mArchive = "1" then

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("SpawnedMailer.mdb"))

ArchiveSQL = "INSERT into Archive (ArchiveSubject,ArchiveBody) VALUES ('" & mSubject & "','" & mBody & "');"
conn.Execute ArchiveSQL
response.write("<br><br><br><font color='#FF0000'>Brevet er nu Arkiveret!</font><br><br>")

conn.close

end if

response.write("<br><br><br><center><a href='AdminIndex.asp'>ADMIN HOME</a><center>")

%>
Avatar billede eagleeye Praktikant
23. februar 2003 - 01:30 #1
Prøv med dette:



strSQL = "SELECT MailingAddy, MailingID FROM MailingList"
set Res = Conn.Execute(strSQL)
while not Res.EOF
  Set mail = Server.CreateObject("JMail.Message")
  Mail.Sender = mFrom
  Mail.AddRecipient res("MailingAddy")
  Mail.Subject = mSubject

  Mail.Body = mBody & "----------------------------------------------------------------------------" & vbcrlf & "Ønsker du at ændre din Email addresse kan du trykke på det her link: "  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Redigere&num=" & res("MailingID") & vbcrlf & vbcrlf & vbcrlf & "STOP med at modtage dette nyhedsbrev. Klik her:"  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Slet&num=" & res("MailingID")
 

'HER SKAL DU SELV RETTE:
  Mail.MailDomain "angiv.mail.server.adresse.her"

  Mail.Send
  Set Mail = Nothing
  Res.MoveNext
wend
Avatar billede eagleeye Praktikant
23. februar 2003 - 01:36 #2
Avatar billede asker Nybegynder
23. februar 2003 - 09:52 #3
Hvordan finder jeg ud af mail server adressen ??
Avatar billede eagleeye Praktikant
23. februar 2003 - 11:02 #4
Har du et web-hotel? Så kan du få adressen der. Eksvis hos Azero.dk er adressen noget med "mail.brugernavn.dk"
Avatar billede asker Nybegynder
23. februar 2003 - 21:30 #5
Jeg får en fejl



Nyhedsbrevet er sendt til:

din@email.dk, steen@net2admin.dk, ksfjljg@kfjæ, ksfjljg@kfjæ.dk, admin@net2admin.dk,
Microsoft VBScript runtime error '800a01b6'

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

/mail/SpawnedMailerSend.asp, line 24


**********************

<!--#include file ="SpawnedHead.asp"--><center>
<% Server.ScriptTimeout = 1800 %>
<%

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("SpawnedMailer.mdb")

Dim mFrom,mTo,mSubject,mbcc,mBody,mArchive
mFrom = Request.Form("myemail")
mTo = Request.Form("to")
mSubject = Request.Form("subject")
mbcc = Request.Form("users")
mBody = Request.Form("body")
mArchive = Request.Form("archive")

response.write("Nyhedsbrevet er sendt til:<br><br>" & mbcc )


strSQL = "SELECT MailingAddy, MailingID FROM MailingList"
set Res = Conn.Execute(strSQL)
while not Res.EOF
  Set Mail = Server.CreateObject ("JMail.Message")
  Mail.From = mFrom
  Mail.To = res("MailingAddy")
  Mail.Subject = mSubject                                                                                                                                                                                                                                                                                                                                                                   
  Mail.Body = mBody & "----------------------------------------------------------------------------" & vbcrlf & "Ønsker du at ændre din Email addresse kan du trykke på det her link: "  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Redigere&num=" & res("MailingID") & vbcrlf & vbcrlf & vbcrlf & "STOP med at modtage dette nyhedsbrev. Klik her:"  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Slet&num=" & res("MailingID")
  Mail.BodyFormat = 1
  Mail.Mailformat = CDOMailFormatMIME
  Mail.Send
  Set Mail = Nothing
Res.MoveNext
wend

if mArchive = "1" then
Avatar billede eagleeye Praktikant
23. februar 2003 - 21:36 #6
To skal være AddRecipient, ret denne linie:

Mail.To = res("MailingAddy")

Til:
Mail.AddRecipient res("MailingAddy")
Avatar billede asker Nybegynder
23. februar 2003 - 22:02 #7
Så går den helt galt

så får jeg den her fejl

Der er problemer med den side, du prøver at åbne, og den kan ikke vises.

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

Prøv følgende:

Åbn hjemmesiden www.net2admin.dk, og søg efter hyperlinks, der fører til de ønskede oplysninger.
Klik på knappen  Opdater, eller prøv igen senere.

Klik på  Søg for at søge efter oplysninger på Internettet.
Du kan også se en liste over relaterede websteder.




HTTP 500 - Intern serverfejl
Internet Explorer
Avatar billede eagleeye Praktikant
23. februar 2003 - 22:05 #8
Prøv at bruge den kode jeg har vist i mit svar det enste du har rettet er denne linie:

Set mail = Server.CreateObject("JMail.Message")

Men der er flere som skal ændres.
Avatar billede asker Nybegynder
23. februar 2003 - 22:09 #9
Undskyld men hvilke ??
Avatar billede eagleeye Praktikant
23. februar 2003 - 22:11 #10
Eks er disse forskellige fra CDO til Jmail:

Mail.Mailformat = CDOMailFormatMIME

Mail.BodyFormat = 1
Avatar billede asker Nybegynder
23. februar 2003 - 22:17 #11
Aaahhh  du har et godt overblik

Jeg har Azero men jeg kender ikke min
  Mail.MailDomain "angiv.mail.server.adresse.her"
Avatar billede eagleeye Praktikant
23. februar 2003 - 22:20 #12
Ok :)

Azeo har faktik nogle ganske gode support sider omkring ASP og eks på de forskellige kompunenter de understytter. Eks for JMail:
http://www.azero.dk/support/programmering/asp/jmail/

Så er din mail server:

Mail.MailDomain = "websmtp.dit-domaene.dk"
Avatar billede asker Nybegynder
23. februar 2003 - 22:22 #13
Ja jeg fandt også det <%
  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "websmtp.dit-domaene.dk"
  JMail.Sender        = "admin@dit-domaene.dk"
  JMail.Subject      = "Information"
  JMail.AddRecipient  "admin@dit-domaene.dk"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
 
  ' ********** Her starter selve email-en
  JMail.Body = "Dette er linie 1 af brevet" & vbCrLf &_
              "Og her kommer linie 2"
  ' ********** Her slutter selve email-en
 
  JMail.Execute
 
  Set JMail = Nothing
%>

<html><body>

Emailen er sendt!

</body></html>
Så jeg prøver men løb nu ikke fra mig ----- jeg er lidt af en novice
Avatar billede asker Nybegynder
23. februar 2003 - 22:26 #14
Nu får jeg den her fejl

Der er problemer med den side, du prøver at åbne, og den kan ikke vises.

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

Prøv følgende:

Åbn hjemmesiden www.net2admin.dk, og søg efter hyperlinks, der fører til de ønskede oplysninger.
Klik på knappen  Opdater, eller prøv igen senere.

Klik på  Søg for at søge efter oplysninger på Internettet.
Du kan også se en liste over relaterede websteder.




HTTP 500 - Intern serverfejl
Internet Explorer 


Og min kode er:

strSQL = "SELECT MailingAddy, MailingID FROM MailingList"
set Res = Conn.Execute(strSQL)
while not Res.EOF
'  Set Mail = Server.CreateObject ("CDONTS.NewMail")
  Set Mail = Server.CreateObject ("JMail.Message")
  Mail.From = mFrom
  Mail.AddRecipient res("MailingAddy")<BR>
'  Mail.To = res("MailingAddy")
  Mail.Subject = mSubject                                                                                                                                                                                                                                                                                                                                                                   
  Mail.Body = mBody & "----------------------------------------------------------------------------" & vbcrlf & "Ønsker du at ændre din Email addresse kan du trykke på det her link: "  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Redigere&num=" & res("MailingID") & vbcrlf & vbcrlf & vbcrlf & "STOP med at modtage dette nyhedsbrev. Klik her:"  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Slet&num=" & res("MailingID")
'  Mail.BodyFormat = 1
  Mail.MailDomain = "websmtp.net2admin.dk"
'  Mail.Mailformat = CDOMailFormatMIME
  Mail.Send
  Set Mail = Nothing
Res.MoveNext
wend

if mArchive = "1" then
Avatar billede eagleeye Praktikant
23. februar 2003 - 22:28 #15
Der er kommet et <br> ind her:

Mail.AddRecipient res("MailingAddy")<BR>

Det skal væk:

Mail.AddRecipient res("MailingAddy")
Avatar billede eagleeye Praktikant
23. februar 2003 - 22:28 #16
Prøv at slå denne fra vælg i menuen, så skulle du gerne få en bedre fejl kode/beskrivelse:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "ved meddelelse om uskadelige http-fejl"
Avatar billede asker Nybegynder
23. februar 2003 - 22:28 #17
Ups<BR>
Avatar billede asker Nybegynder
23. februar 2003 - 22:30 #18
Jeg har ikke adgang til serveren

****************

Jeg får stadig samme fejl
Avatar billede asker Nybegynder
23. februar 2003 - 22:32 #19
Nåår du mener i min bowser
Avatar billede asker Nybegynder
23. februar 2003 - 22:34 #20
Godt nu er fejlen

Nyhedsbrevet er sendt til:

din@email.dk, steen@net2admin.dk, ksfjljg@kfjæ, ksfjljg@kfjæ.dk, admin@net2admin.dk,
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Send'

/mail/SpawnedMailerSend.asp, line 33
Avatar billede asker Nybegynder
23. februar 2003 - 22:35 #21
Og det er den her

Mail.Send
Avatar billede asker Nybegynder
23. februar 2003 - 22:41 #22
Er du der eller............
Avatar billede eagleeye Praktikant
23. februar 2003 - 22:52 #23
ja ja jeg er her endnu.

Prøv at sætte () på..?:

Mail.Send()
Avatar billede asker Nybegynder
23. februar 2003 - 23:14 #24
Hvis jeg skriver Mail.Send() får jeg den her fejl:

Nyhedsbrevet er sendt til:

din@email.dk, steen@net2admin.dk, ksfjljg@kfjæ, ksfjljg@kfjæ.dk, ssm@minolta.dk, admin@net2admin.dk,
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Send'

/mail/SpawnedMailerSend.asp, line 35
*******************************************'

Tilgengæld hvis jeg bruger den her:Mail.Send("websmtp.net2admin.dk")
så bliver der sendt mails men jeg får en fejl påsiden
Avatar billede eagleeye Praktikant
23. februar 2003 - 23:17 #25
Ok. Så skal den havde server adressen i Send()
Hvilken fejl er det så?
Avatar billede asker Nybegynder
23. februar 2003 - 23:19 #26
den her

Nyhedsbrevet er sendt til:

din@email.dk, steen@net2admin.dk, ksfjljg@kfjæ.dk, ssm@minolta.dk, admin@net2admin.dk,
jmail.Message error '8000ffff'

The message was undeliverable. All servers failed to receive the message

/mail/SpawnedMailerSend.asp, line 32
Avatar billede eagleeye Praktikant
23. februar 2003 - 23:21 #27
Det skulle betyde den ikke kan sende mailen, og den mail server man har angivet ikke vil sende mailen. Det virker jo lidt underlidt hvis du siger du får mailen?
Avatar billede asker Nybegynder
23. februar 2003 - 23:23 #28
Ja men jeg kan kun se at jeg får den på steen@net2admin.dk  jeg får den ikke på de andre mail addressser
Avatar billede eagleeye Praktikant
23. februar 2003 - 23:31 #29
Hvordan ser koden ud nu?
Avatar billede asker Nybegynder
23. februar 2003 - 23:36 #30
den ser sådan her ud


<!--#include file ="SpawnedHead.asp"--><center>
<% Server.ScriptTimeout = 1800 %>
<%
'''''
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("SpawnedMailer.mdb")

Dim mFrom,mTo,mSubject,mbcc,mBody,mArchive
mFrom = Request.Form("myemail")
mTo = Request.Form("to")
mSubject = Request.Form("subject")
mbcc = Request.Form("users")
mBody = Request.Form("body")
mArchive = Request.Form("archive")

response.write("Nyhedsbrevet er sendt til:<br><br>" & mbcc )


strSQL = "SELECT MailingAddy, MailingID FROM MailingList"
set Res = Conn.Execute(strSQL)
while not Res.EOF
'  Set Mail = Server.CreateObject ("CDONTS.NewMail")
  Set Mail = Server.CreateObject ("JMail.Message")
  Mail.From = mFrom

    Mail.AddRecipient res("MailingAddy")
'  Mail.To = res("MailingAddy")
  Mail.Subject = mSubject                                                                                                                                                                                                                                                                                                                                                                   
  Mail.Body = mBody & "----------------------------------------------------------------------------" & vbcrlf & "Ønsker du at ændre din Email addresse kan du trykke på det her link: "  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Redigere&num=" & res("MailingID") & vbcrlf & vbcrlf & vbcrlf & "STOP med at modtage dette nyhedsbrev. Klik her:"  & vbcrlf & "http://pcssm/mail/MailEdit.asp?Action=Slet&num=" & res("MailingID")
'  Mail.BodyFormat = 1
'  Mail.MailDomain = "websmtp.net2admin.dk"
'    Mail.Send("websmtp.net2admin.dk")
if not mail.Send("websmtp.net2admin.dk") then
Response.Write "Mailen kunne ikke afsendes grundet:<br>"
Response.Write mail.log
end if


'  Mail.Mailformat = CDOMailFormatMIME
'  Mail.Send
  Set Mail = Nothing
Res.MoveNext
wend

if mArchive = "1" then

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("SpawnedMailer.mdb"))

ArchiveSQL = "INSERT into Archive (ArchiveSubject,ArchiveBody) VALUES ('" & mSubject & "','" & mBody & "');"
conn.Execute ArchiveSQL
response.write("<br><br><br><font color='#FF0000'>Brevet er nu Arkiveret!</font><br><br>")

conn.close

end if

response.write("<br><br><br><center><a href='AdminIndex.asp'>ADMIN HOME</a><center>")

%></center><!--#include file ="SpawnedFoot.asp"-->
Avatar billede asker Nybegynder
23. februar 2003 - 23:37 #31
alså sender den kun til steen@net2admin.dk med Mail.Send("websmtp.net2admin.dk")

men det er jo også det samme domæne
Avatar billede eagleeye Praktikant
23. februar 2003 - 23:41 #32
Dem skulle også sende til de andre i recordsetet. Skirver den fejl ved de andre eller?
Avatar billede asker Nybegynder
23. februar 2003 - 23:42 #33
det var sku de mærkelige email der stoppede det

kan du hjælpe mig med en validator

<%

Dim eAddy
eAddy = Request.Form("eaddy")
response.write( eAddy )

if eAddy = "" then
response.write("<center><font color='#FF0000'>Du har ikke udfyld din email addresse.</font></center>")

else



If InStr(1,eAddy,"@",vbTextCompare) = 0 then

response.write(" <center><font color='#FF0000'>er ikke en lovlig Email addresse.</font></center>")

else

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("SpawnedMailer.mdb"))

set rsMail = Server.CreateObject("ADODB.recordset")
rsMail.Open "SELECT * FROM MailingList WHERE MailingAddy='" & eAddy & "'", conn

    If not rsMail.EOF Then
        If rsMail("MailingAddy") = eAddy Then

            response.write("  <center><font color='#FF0000'>er allerede tilmeldt nyhedsbrevet.</font></center>")

        End if

    Else


            mailSQL = "INSERT into MailingList (MailingAddy) VALUES ('" & eAddy & "');"
            conn.Execute mailSQL
            response.write(" er tilføjet nyhedsbrevet!")
    End if


rsMail.close
conn.close
end if
end if
%>


****************

som du kan se tjekker jeg for @  og for tom

hvordan tjekker jeg for manglende .dk .com .osv

og for æøå
Avatar billede asker Nybegynder
23. februar 2003 - 23:52 #34
Jeg takker for hjælpen

Og vil glæde mig hvis du kan hjælpe mig med en udvidet validator
Avatar billede eagleeye Praktikant
23. februar 2003 - 23:53 #35
Ja jeg leder, jeg mener helt bestemt jeg har noget kode men kan ikke lige finde det. Jeg skal nok smide det ind om lidt.
Avatar billede eagleeye Praktikant
23. februar 2003 - 23:57 #36
Umiddelbart har jeg brugt denne:

if InStr(email,"@") = 0 or InStr(email,".") = 0 or len(email) < 6 then
'FEJL i email
end if

Hvad tænker du på med .dk og .com? den if tjekker på om @ og . findes i email og længden er størrere eller lig 6 karakter: a@a.dk

Jeg mener stadig jeg har en function søger ...
Avatar billede eagleeye Praktikant
24. februar 2003 - 00:10 #37
Eks på et valid script lavet i java script:
http://www.eksperten.dk/spm/244254


Jeg kan ikke lige finde et ASP men det skal være noget i stil med:

function isEmail(str)
  tilladtkarakter = "._@abcdefghijklmnopqrstuvwxyz1234567890"
  if InStr(str,"@") = 0 or InStr(str,".") = 0 or len(str) < 6 then
    isEmail = false
    exit function
  end if
  for i = 1 to len(str)
    if InStr(1,tilladtkarakter,mid(str,i,1)) = 0 then
      isEmail = false
      exit function
    end if
  next
  isEmail = true 
end function

Så kan man lave en if sætning...:

if isEmail(request.form("email")) = false then
  'FEJL i email
end if
Avatar billede oasen Nybegynder
25. februar 2003 - 22:29 #38
asker ---> Jeg har svaret på dit andet spm. ang. validatoren.
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