Avatar billede ponyboye Nybegynder
09. juli 2004 - 02:08 Der er 35 kommentarer og
1 løsning

Lave CDONTS om til Jmail?

Jeg har fundet et system der kan vælge imellem 2 mail componenter, men serveren understøtter ingen af dem.

Nu vil jeg så gerne have lavet CDONTS om, så den bruger Jmail til at afsende mail med.

Når den afsender mails, henter den fra denne kode:



<%

sTitle="hjemmesidens navn" ' site title
sitename="hjemmesidens navn"
rootFolder="grund stien"
tableWidth=500

'email notification variables

emailFromAddress="email"
emailFromName= "navn"
ASPMailRemoteHost="server"
%>


og dette her er koden til at afsende mails med:



function checkcomp(str)
      on error resume next
      checkcomp = false
      Err = 0
      dim checkobject
      set checkobject = Server.CreateObject(str)
      if 0 = Err then
        checkcomp = true
      end if
      set checkobject = nothing
      Err = 0
    end function
   
    Dim emailcomp(1)
   
    emailcomp(0) = "SMTPsvg.Mailer"
    emailcomp(1) = "CDONTS.NewMail"
   
    if checkcomp(emailcomp(0)) then
        emailcomponent="ASPMail"
    elseif checkcomp(emailcomp(1)) then
        emailcomponent="CDONTS"
    else
        emailcomponent="CDONTS/ASPMail are not installed in your server."
    end if
   
    'check if ASPMail
    if emailcomponent="ASPMail" then
       
        Set mail = Server.CreateObject("SMTPsvg.Mailer")
        mail.ContentType = "text/html"
        mail.FromAddress = emailFromAddress
        mail.FromName = emailFromName
        mail.AddRecipient fullname, email
        mail.Subject = emailsub
        mail.BodyText = b
        mail.RemoteHost = ASPMailRemoteHost
        mail.SendMail
        Set Mail = Nothing
   
    'check if CDONTS
    elseif emailcomponent="CDONTS" then
   
        Set myMail = CreateObject("CDONTS.NewMail")
        myMail.From = emailFromName & "<" & emailFromAddress & ">"
        myMail.From = emailFromAddress
        myMail.To = email
        myMail.Subject = emailsub
        myMail.Body = b
        myMail.BodyFormat = 0
        myMail.MailFormat = 0
        myMail.Send
        Set myMail = Nothing
    end if


håber der er venlig sjæl der kan hjælpe.
Avatar billede c-sharp Nybegynder
09. juli 2004 - 06:40 #1
Du kan sende med Jmail på følgende måde:

    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = mail.tdc.dk 'Mail server
    JMail.sender = afsender@test.dk 'Afsender email
    JMail.AddRecipient modtager@test.dk 'Modtager email
    JMail.Subject = "Hej"  'emne
    JMail.HTMLBody =  "Hej der" 'Selve mailen
    JMail.Execute
    Set JMail = Nothing
Avatar billede ponyboye Nybegynder
09. juli 2004 - 23:29 #2
jeg har prøvet at lavet det om til JMail, men den melder bare nogle fejl som:

Dont support JMail.AddRecipient

samt flere fejl.
Avatar billede ponyboye Nybegynder
09. juli 2004 - 23:31 #3
hele koden ser sådanne ud. Jeg har brug for hjælp til at få lavet den om til jmail.

<%

if request("password") <> request("password2") then
    response.redirect "join.asp?lg=pwverify"
end if
email = request("email")
username = request("username")
fullname=request("FirstName") & " " & request("LastName")

Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

sql = "select AfUsername from users where AfUsername='"& request("username")& "'"
sql2 = "select AfUsername from users where email='"& request("email")& "'"
Conn.Open dsn

'check if email exists
rs.open sql2, conn
if not rs.eof then
    response.redirect "join.asp?lg=emailtaken&FirstName=" & request("FirstName") & "&LastName=" & request("LastName") & "&email=" & request("email") & "&city=" & request("city") & "&address=" & request("address") & "&zip=" & request("zip")
end if
rs.close

rs.open sql, conn
if rs.eof then

sql1 = "INSERT INTO users(FirstName, LastName, EMail, AfUsername, Password, Country, State, City, Address, Zip) Values('" & request("FirstName") & "', '" & request("LastName") & "', '" & request("email") & "', '" & request("username") & "', '" & request("password") & "', '" & request("country") & "', '" & request("state") & "', '" & request("city") & "', '" & request("address") & "', '" & request("zip") & "')"

conn.execute(sql1)

    'send email
    dim b, activateCode, strCode
    strCode=request("FirstName") & request("LastName") & request("email") & request("username") & request("address")
    activateCode=Len(strCode)*793
   
    ' email subject
    emailsub="Arktiver profil"
   
    ' email body
    b="<html><body>"
    b=b & "Hej " & fn & ",<br>"
    b=b & "Velkommen til " & sitename & "<br>"
    b=b & "<a href='" & rootFolder & "login/activate.asp?id=" & activateCode & "'>Klik her</a> For at arkiver din nye bruger profil</a>."
    b=b & "<br><br>Brugernavn:<b>" & request("username") & "</b><br>Adgangskode:<b>" & request("password") & "</b><br><br>"
    b=b & "Med venlig hilden<br><br>" & sitename
    b=b & "</body></html>"
   
    function checkcomp(str)
      on error resume next
      checkcomp = false
      Err = 0
      dim checkobject
      set checkobject = Server.CreateObject(str)
      if 0 = Err then
        checkcomp = true
      end if
      set checkobject = nothing
      Err = 0
    end function
   
    Dim emailcomp(1)
   
    emailcomp(0) = "SMTPsvg.Mailer"
    emailcomp(1) = "CDONTS.NewMail"
   
    if checkcomp(emailcomp(0)) then
        emailcomponent="ASPMail"
    elseif checkcomp(emailcomp(1)) then
        emailcomponent="CDONTS"
    else
        emailcomponent="CDONTS/ASPMail are not installed in your server."
    end if
   
    'check if ASPMail
    if emailcomponent="ASPMail" then
       
        Set mail = Server.CreateObject("SMTPsvg.Mailer")
        mail.ContentType = "text/html"
        mail.FromAddress = emailFromAddress
        mail.FromName = emailFromName
        mail.AddRecipient fullname, email
        mail.Subject = emailsub
        mail.BodyText = b
        mail.RemoteHost = ASPMailRemoteHost
        mail.SendMail
        Set Mail = Nothing
   
    'check if CDONTS
    elseif emailcomponent="CDONTS" then
   
        Set myMail = CreateObject("CDONTS.NewMail")
        myMail.From = emailFromName & "<" & emailFromAddress & ">"
        myMail.From = emailFromAddress
        myMail.To = email
        myMail.Subject = emailsub
        myMail.Body = b
        myMail.BodyFormat = 0
        myMail.MailFormat = 0
        myMail.Send
        Set myMail = Nothing
    end if

else
    response.redirect "join.asp?lg=untaken&FirstName=" & request("FirstName") & "&LastName=" & request("LastName") & "&email=" & request("email") & "&city=" & request("city") & "&address=" & request("address") & "&zip=" & request("zip")
    end if
    rs.close
    set rs = nothing
    conn.close
    set conn = nothing
    Session("AfLogin")="true"
    Session("activate") = false
    Session("AfUsername")=username
       
    response.redirect "../members.asp?action=newuser"   
%>
Avatar billede ellebaek Nybegynder
09. juli 2004 - 23:34 #4
ret den her del:

Set myMail = CreateObject("CDONTS.NewMail")
        myMail.From = emailFromName & "<" & emailFromAddress & ">"
        myMail.From = emailFromAddress
        myMail.To = email
        myMail.Subject = emailsub
        myMail.Body = b
        myMail.BodyFormat = 0
        myMail.MailFormat = 0
        myMail.Send
        Set myMail = Nothing

til:
Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "mail.tdc.dk" 'Mail server
    JMail.sender = emailFromAdress 'Afsender email
    JMail.AddRecipientEx email,  email 'Modtager email
    JMail.Subject = emailsub
    JMail.Body =  b
    JMail.Execute
    Set JMail = Nothing
Avatar billede ponyboye Nybegynder
10. juli 2004 - 00:44 #5
Tak ellebaek

jeg prøver lige.
Avatar billede ponyboye Nybegynder
10. juli 2004 - 01:14 #6
er det ikke muligt at afsende uden brug af JMail.ServerAddress = "mail.tdc.dk" 'Mail server, som med denne form:

JMail.Sender = "email"
  JMail.SenderName = "email"
  JMail.Subject = "Ny Forspørgelse/Besked"
  JMail.AddRecipient "email"
  jmail.Body = "Følgene personen har send:" & VbCrLf
  jmail.Body = jmail.Body & "Navn: " &navn & VbCrLf
  jmail.Body = jmail.Body & "Besked: " & text & VbCrLf
  jmail.Body = jmail.Body & "Email: " & email & VbCrLf
  jmail.Execute
  set Jmail = nothing
Avatar billede c-sharp Nybegynder
10. juli 2004 - 09:47 #7
Du skal jo bruge en eller anden form for smtp server til a sende din mail med, men hvis du har en smtp server installeret på din server kan du bruge den (localhost).
Avatar billede ponyboye Nybegynder
10. juli 2004 - 12:19 #8
skriver man så bare localhost i feltet?

når jeg indsætter dette her i formen så kommer den ikke med nogle fejl, men den afsender heller ikke den mail som den skal.

Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "mail.tdc.dk" 'Mail server
    JMail.sender = emailFromAdress 'Afsender email
    JMail.AddRecipientEx email,  email 'Modtager email
    JMail.Subject = emailsub
    JMail.Body =  b
    JMail.Execute
    Set JMail = Nothing
Avatar billede ponyboye Nybegynder
10. juli 2004 - 13:21 #9
nu har jeg fået af vide at smtp server hedder smtp.mail.dk men den vil bare ikke afsende mails til den tilmeldte bruger. nogen der kan fortælle hvorfor?
Avatar billede c-sharp Nybegynder
10. juli 2004 - 13:26 #10
Det jeg viste var også bare et tilfældig eksempel :-)

Den mail adresse du bruger som afsender findes den, hvis ikke kan det være en fejlen
Avatar billede ponyboye Nybegynder
10. juli 2004 - 13:51 #11
det har jeg også kigget på og der er den rigtige email adresse
Avatar billede ellebaek Nybegynder
10. juli 2004 - 13:52 #12
får du nogen fejl eller sender den blot ikke mailsene..?
Avatar billede ponyboye Nybegynder
10. juli 2004 - 13:59 #13
ingen fejl. Gemmenføre som intet er sket
Avatar billede ellebaek Nybegynder
10. juli 2004 - 14:00 #14
hvilke mails sender du til..??
Altså er det hotmail, eller egne mails etc..?

Prøv at tilføje din egen adresse som modtager, altså så du bare skriver:

Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "mail.tdc.dk" 'Mail server
    JMail.sender = emailFromAdress 'Afsender email
    JMail.AddRecipientEx "din@email.dk",  "din@email.dk" 'Modtager email
    JMail.Subject = emailsub
    JMail.Body =  b
    JMail.Execute
    Set JMail = Nothing

og så se om den kommer frem..!
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:06 #15
jeg bruger ikke hotmail, men mine egen mail
Avatar billede ellebaek Nybegynder
10. juli 2004 - 14:09 #16
hmm...

mystisk.
Jeg har selv haft problemer med at den var et godt stykke tid om at sende til hotmail, men har dog ikke set problemerne med andre mails...

har du prøvet hvor du sender til en specifik email og ikke andet..?
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:09 #17
nej den kommer heller ikke frem..
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:10 #18
nej det har jeg ikke
Avatar billede ellebaek Nybegynder
10. juli 2004 - 14:11 #19
altså det jeg skrev: 10/07-2004 14:00:36
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:12 #20
jo jo det har jeg lige prøvet. men den kommer ikke frem
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:16 #21
jeg syntes bare at når jeg bruger en alm kontakt form med jmail så skal jeg ikke bruge JMail.ServerAddress og det virker fint
Avatar billede ellebaek Nybegynder
10. juli 2004 - 14:19 #22
prøv at tilføje denne del til din jmail del...

JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:26 #23
ingen forskel
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:26 #24
Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    JMail.ServerAddress = "smtp.mail.dk" 'Mail server
    JMail.sender = emailFromAdress 'Afsender email
    JMail.AddRecipientEx = email 'Modtager email
    JMail.Subject = emailsub
    JMail.Body =  b
    JMail.Execute
    Set JMail = Nothing
Avatar billede ellebaek Nybegynder
10. juli 2004 - 14:28 #25
hmm...

det script burde faktisk give dig en fejl...

prøv at skrive:

Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    JMail.ServerAddress = "smtp.mail.dk" 'Mail server
    JMail.sender = emailFromAdress 'Afsender email
    JMail.AddRecipientEx email, email 'Modtager email
    JMail.Subject = emailsub
    JMail.Body =  b
    JMail.Execute
    Set JMail = Nothing
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:31 #26
jeg er ked af det, men jeg er nød til at smutte på arbejde
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:32 #27
men der kom ingen fejl
Avatar billede ellebaek Nybegynder
10. juli 2004 - 14:32 #28
okay...

Du vender bare tilbage, når du har tid igen :-)
Avatar billede ponyboye Nybegynder
10. juli 2004 - 14:33 #29
ok
Avatar billede ponyboye Nybegynder
11. juli 2004 - 11:26 #30
når skal vi prøve igen og se om vi kan få det til at virke, ellebaek?
Avatar billede c-sharp Nybegynder
11. juli 2004 - 13:51 #31
Hvis du køre det på en windows 2000 server kan du evt prøve dette (Dur ikke på Windows 2003):

Dim MyMail
Set MyMail = Server.CreateObject("CDONTS.NewMail")
MyMail.From = "fra@test.dk" ' Afsender
MyMail.To = "til@test.dk"
MyMail.Bcc = ""
MyMail.Subject = subject ' Emen
MyMail.BodyFormat = 0 '0 = MIME (Multipurpose Internet Mail Extension), 1 = plain text
MyMail.MailFormat = 0
MyMail.Importance = 2 '0, indicating low 1, indicating normal 2, indicating high
MyMail.Body =  body ' Indhold
MyMail.Send
Set MyMail = Nothing
Avatar billede ponyboye Nybegynder
11. juli 2004 - 14:15 #32
det er en Windows 2003
Avatar billede c-sharp Nybegynder
11. juli 2004 - 15:57 #33
Er det din egen server kan du evt prøve at installere smtp-server på den, også skrive:

JMail.ServerAddress = "localhost"
Avatar billede ponyboye Nybegynder
11. juli 2004 - 23:36 #34
det er det ikke. Men han har tdc og bruger vist deres smtp til at sende mails med
Avatar billede c-sharp Nybegynder
12. juli 2004 - 07:55 #35
Jeg har set at man i nogen tilfælde skal have en SenderName med for at det virker så prøv at tilføje følgende:

JMail.SenderName = "ponyboye"
Avatar billede ponyboye Nybegynder
16. juli 2004 - 05:52 #36
lukker da dette ikke vil virke.
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