Avatar billede morticuz Nybegynder
14. december 2000 - 00:12 Der er 4 kommentarer og
1 løsning

Jmail... Igen... Gider ikke at sende... :(

Ok... Her er den... Jeg har fundet et script om Jmail inde på asp.dk ... Har testet den på min server... har fundet ud af mailserver... Ved at vi har Jmail installeret på serveren... :) Det script jeg fandt virker også fint.. Den er til at sende SMS med... Men hovedsagen er at den virker.. :)

Så vil jeg overføre en lille til min side... men... Nu virker det ikke mere... Nu brokkede den sig over at den ikke vidste hvad Jmail var... Så prøvede jeg (fordi at det havde de gjort i det andet script) at sætte noget Functions rundt om... kan ikke rigtig se hvad de gør godt for... men nu virkede det... problemet er bare at den ikke sender mailen :( I får her begge koder... Hvis i så vil sige havd jeg gør gal... Det er første gang jeg leger med mail i ASP :)

Dette er det script jeg fandt på asp.dk :

<%
\'--------- SKAL TILRETTES FØR BRUG START ---------
\'1 = JMail
\'2 = ASPMail
\'3 = CDONTS
\'4 = Webhostme mail
mailer = 1

afsendermail = \"morticuz@sprit.dk\"
\'--------- SKAL TILRETTES FØR BRUG SLUT ----------

fedfont = \"<FONT FACE=\"\"Arial\"\" SIZE=\"\"2\"\" COLOR=\"\"#FFFFFF\"\"><STRONG>\"
gulfedfont = \"<FONT FACE=\"\"Arial\"\" SIZE=\"\"2\"\" COLOR=\"\"#FFFF00\"\"><STRONG>\"
rodfedfont = \"<FONT FACE=\"\"Arial\"\" SIZE=\"\"2\"\" COLOR=\"\"#FF0000\"\"><STRONG>\"
fedstor = \"<FONT FACE=\"\"Arial\"\" SIZE=\"\"4\"\" COLOR=\"\"#000099\"\"><STRONG>\"
fe = \"</STRONG></FONT>\"



Function sendsms( mobil )
if Request.Form(\"telefonnummer\") = \"\" or Request.Form(\"afsender\") = \"\" or Request.Form(\"besked\") = \"\" then
    sendsms = rodFedfont &\"Alle felter SKAL udfyldes !!! \"& fe
else
\'**************** Teleselskaber email start ****************
    teledk = \"@sms.tdm.dk\"
    sonofon = \"@note.sonofon.dk\"
    telia = \"@gsm1800.telia.dk\"
    mobilix = \"@sms.mobilix.dk\"
\'**************** Teleselskaber email slut *****************
\'**************** Find teleselskab start ****************
If Not IsNumeric(mobil) Then
    gyldigt = 0
else
    if left(mobil,4) < 2010 OR len(mobil) < 8 then
        gyldigt = 0
    else
        gyldigt = 1
    end if
end if
    if gyldigt = 1 then
        if int(left(mobil,4)) => 2010 AND int(left(mobil,4)) =< 2059 then
            selskab = teledk
        elseif  int(left(mobil,4)) => 2060 AND int(left(mobil,4)) =< 2099 then
            selskab = sonofon
        elseif  int(left(mobil,4)) => 2110 AND int(left(mobil,4)) =< 2199 then
            selskab = teledk
        elseif  int(left(mobil,4)) => 2210 AND int(left(mobil,4)) =< 2299 then
            selskab = sonofon
        elseif  int(left(mobil,4)) => 2310 AND int(left(mobil,4)) =< 2399 then
            selskab = teledk
        elseif  int(left(mobil,4)) => 2610 AND int(left(mobil,4)) =< 2699 then
            selskab = mobilix
        elseif  int(left(mobil,4)) => 2810 AND int(left(mobil,4)) =< 2899 then
            selskab = telia
        elseif  int(left(mobil,4)) => 3010 AND int(left(mobil,4)) =< 3099 then
            selskab = teledk
        elseif  int(left(mobil,4)) => 4010 AND int(left(mobil,4)) =< 4049 then
            selskab = teledk
        elseif  int(left(mobil,4)) => 4050 AND int(left(mobil,4)) =< 4099 then
            selskab = sonofon
        else
            gyldigt = 0
        end if
    end if

    if gyldigt = 1 then
        navn = \"Besked fra \"& Request.Form(\"afsender\")
        tekst = Request.Form(\"besked\")
        mobiltekst = navn &\". \"& Request.Form(\"besked\")   
        email = mobil & selskab
\'******** BESKED SENDES START ********

        if mailer = 1 then
\'--------------JMail mail start---------------------

            Set JMail = Server.CreateObject(\"JMail.SMTPMail\")
            JMail.ServerAddress = \"mail.avengers.dk\"
            JMail.Sender = afsendermail
            if selskab <> \"@sms.tdm.dk\" then
                JMail.Subject = navn
                JMail.Body = tekst
            else
                JMail.Body = mobiltekst
            end if
            JMail.AddRecipient email
            JMail.Execute
            set JMail = nothing

\'--------------JMail mail slut---------------------
        elseif mailer = 2 then
\'--------------ASPMail mail start---------------------

            Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
            Mailer.RemoteHost = \"mail.avengers.dk\"
            Mailer.FromAddress = adsendermail
            Mailer.AddRecipient email
            if selskab <> \"@sms.tdm.dk\" then
                Mailer.Subject = navn
                Mailer.BodyText = tekst
            else
                Mailer.BodyText = mobiltekst
            end if
            Mailer.SendMail

\'--------------ASPMail mail slut---------------------
        elseif mailer = 3 then
\'--------------CDONTS mail start---------------------

            Set sms = CreateObject(\"CDONTS.NewMail\")
            sms.From = afsendermail
            sms.To = email
            if selskab <> \"@sms.tdm.dk\" then
                sms.Subject = navn
                sms.Body = tekst
            else
                sms.Body = mobiltekst
            end if
            sms.Send
            Set sms = Nothing

\'--------------CDONTS mail slut---------------------
        elseif mailer = 4 then
\'------------Webhostme mail start--------------------

                Set SMTPObj = CreateObject(\"WebHostMeMail.SMTP\")
                SMTPObj.SMTPServer = \"Mail.webhostme.com\"
                SMTPObj.ToAdd = email
                SMTPObj.FromAdd = afsendermail
                if selskab <> \"@sms.tdm.dk\" then
                    SMTPObj.Subject = navn
                    SMTPObj.Body = tekst
                else
                    SMTPObj.Body = mobiltekst
                end if
                SMTPObj.Connect
                result = SMTPObj.EMail
                SMTPObj.Quit

\'------------Webhostme mail slut---------------------
        end if
    end if
    if gyldigt = 1 then
        sendsms = fedfont &\"Besked er sendt til:<BR><BR>Telefonnummer: \"& rodfedfont & mobil
\'******** BESKED SENDES SLUT *********
    else
        sendsms = rodFedfont &\"Telefonnummeret er ikke gyldigt !!! \"& fe
    end if
\'**************** Find teleselskab slut *****************
end if
End Function
\'---------------------------------------------------------------
%>


Og her kommer min kode så :

<%
Dim Jmail, Afsender, navn, adresse, tlf, email
Afsender     = \"Pesgo - Form\"
Navn         = Request.form(\"navn\")
adresse    = Request.form(\"adresse\")
tlf         = Request.form(\"tlf\")
email        = Request.form(\"mail\")

If navn = \"\" And adresse = \"\" and tlf = \"\" Then
%>
Beskeden er ugyldigt... Udfyld alle felter tak :)
<%
Else
Function sendmail(navn)
            Set JMail = Server.CreateObject(\"JMail.SMTPMail\")
            JMail.ServerAddress = \"mail.avengers.dk\"
            JMail.Sender = afsender
            JMail.Subject = navn
            JMail.Body = adresse
            JMail.AddRecipient email
            JMail.Execute
            set JMail = nothing
End Function
%>



Beskeden er sendt :)

<%=Navn%><p>
<%=adresse%><p>
<%=tlf%><p>
<%=email%><p>
<%=afsender%><p>
<% End If %>

Det sidste der er bare lavet for at teste om den sender noget... og det gør den :)

Er der nogle der kan se et problem ?? Jeg kan ikke :(

Hilsen Peter :)
Avatar billede erikjacobsen Ekspert
14. december 2000 - 00:16 #1
Du har defineret nogle funktioner. Kalder du dem også? Ellers bliver
indholdet i hvert fald ikke udført.
Avatar billede dalbjerg Nybegynder
14. december 2000 - 00:26 #2
Uhmm... Kommer den med nogen fejlmeddelse??
Avatar billede lasse1024 Nybegynder
14. december 2000 - 00:41 #3
prøv den her

<%    Option Explicit

    \'
    \' ConquerSMS:sendmail.asp
    \'
    \'

    Response.Buffer = True
   
    Sub TLdelaySec(DelaySeconds)
        Dim SecCount, Sec2, Sec1
        SecCount = 0
        Sec2 = 0
        While SecCount < DelaySeconds + 1
            Sec1 = Second(Time())
           
            If Sec1 <> Sec2 Then
                Sec2 = Second(Time())
                SecCount = SecCount + 1
            End If
        Wend
    End Sub
   
    Dim messageSend, returnMessage
    messageSend = False
    returnMessage = \"\"

    If (Request(\"action\") = \"send\") Then
   
        Dim sender, receiver, message
       
        sender = Trim(CStr(Request.Form(\"ediSender\")))
        receiver = Trim(CStr(Request.Form(\"ediReceiver\")))
        message = Trim(CStr(Request.Form(\"ediMessage\")))

        \' we store a cookie in order to remember who send
        \' this message
        Response.Cookies(\"ConquerSMSAddress\")(\"Sender\") = sender
        Response.Cookies(\"ConquerSMSAddress\").Expires = Date + 365
        Response.Cookies(\"ConquerSMSAddress\").Domain = \"www.theill.com\"
       
        receiver = Replace(receiver, \" \", \"\")
       
\'        message = Replace(message, \"Æ\", Chr(28))
\'        message = Replace(message, \"æ\", Chr(29))
       
\'        message = Replace(message, \"Ø\", Chr(11))
\'        message = Replace(message, \"ø\", Chr(12))
       
\'        message = Replace(message, \"Å\", Chr(14))
\'        message = Replace(message, \"å\", Chr(15))
       
        If (NOT IsNumeric(receiver)) Then
            receiver = 0
        End If
       
        receiver = Int(receiver)
       
\'        Dim sonofon, teledanmark, mobilix, fejl, selskab
        Dim teledk, sonofon, telia, mobilix, tele1, telepartner, mfs, tele1020, rslcom, netsource, facilicom, telepassport
        Dim fejl, selskab
       
        \' make sure this is a valid email address -- some SMTP servers does
        \' not allow sending emails if FROM: email is a non existing address
        Const SERVEREMAIL = \"din mail her\"
       
        \' list of recognized telcos for sending out SMS
        teledk = \"sms.tdm.dk\"
        sonofon = \"note.sonofon.dk\"
        telia = \"gsm1800.telia.dk\"
        mobilix = \"sms.mobilix.dk\"
        tele1 = \"sms.mobilix.dk\"
        telepartner = \"sms.mobilix.dk\"
        mfs = \"sms.mobilix.dk\"
        tele1020 = \"sms.mobilix.dk\"
        rslcom = \"sms.mobilix.dk\"
        netsource = \"sms.mobilix.dk\"
        facilicom = \"sms.mobilix.dk\"
        telepassport = \"sms.mobilix.dk\"
        fejl = \"fejl\"
       
        Dim identifier, invalid
        identifier = Int(Left(receiver, 4))
       
        invalid = (identifier < 2010) OR (Len(receiver) < 8)
       
        If ( (identifier >= 2010) AND (identifier <= 2059) ) Then
          selskab = teledk
        ElseIf ( (identifier >= 2060) AND (identifier <= 2099) ) Then
          selskab = sonofon
        ElseIf ( (identifier >= 2110) AND (identifier <= 2199) ) then
          selskab = teledk
        ElseIf ( (identifier >= 2210) AND (identifier <= 2299) ) then
          selskab = sonofon
        ElseIf ( (identifier >= 2310) AND (identifier <= 2399) ) Then
          selskab = teledk
        ElseIf ( (identifier >= 2610) AND (identifier <= 2699) ) Then
          selskab = mobilix
        ElseIf ( (identifier >= 2810) AND (identifier <= 2899) ) Then
          selskab = telia
        ElseIf ( (identifier >= 3010) AND (identifier <= 3689) ) Then
          selskab = teledk
        ElseIf ( (identifier >= 3690) AND (identifier <= 3309) ) Then
          selskab = tele1
        ElseIf ( (identifier >= 3810) AND (identifier <= 4049) ) Then
          selskab = teledk
        ElseIf ( (identifier >= 4050) AND (identifier <= 4099) ) Then
          selskab = sonofon
        ElseIf ( (identifier >= 4320) AND (identifier <= 4679) ) Then
          selskab = teledk
        ElseIf ( (identifier >= 4690) AND (identifier <= 4709) ) Then
          selskab = tele1
        ElseIf ( (identifier >= 4710) AND (identifier <= 4979) ) Then
          selskab = teledk
        ElseIf (identifier = 6910) Then
          selskab = telepartner
        ElseIf (identifier = 6911) Then
          selskab = mfs
        ElseIf (identifier = 6912) Then
          selskab = tele1020
        ElseIf ( (identifier >= 6960) AND (identifier <= 6964) ) Then
          selskab = rslcom
        ElseIf (identifier = 6966) Then
          selskab = netsource
        ElseIf (identifier = 6969) Then
          selskab = netsource
        ElseIf ( (identifier >= 6980) AND (identifier <= 6989) ) Then
          selskab = facilicom
        ElseIf (identifier = 6996) Then
          selskab = telepassport
        End If
       
        If (NOT invalid) Then
            \' try to send message if a valid number were entered
            Dim userAddress
            userAddress = receiver & \"@\" & selskab
           
            Dim Mailer
           
            \' patch sender to include some pre/post characters for nicer
            \' formatting when printing in message
            If (Len(sender) > 0) Then
                sender = \"Fra \" & sender & \":\"
            Else
                sender = \"\"
            End If
           
            Dim formattedMessage, partMessage, sIdx
            sIdx = 1
            formattedMessage = \"\"
           
            Dim cnt, wordCutPos
            cnt = 0
           
            Do
           
                partMessage = Mid(message, sIdx, 140-Len(sender)-1)
               
                \' do some word cutting, finding a word to split up
                \' message nicely. We need to check for the end of
                \' this partial message thus we use InStrRev()
                wordCutPos = InStrRev(partMessage, \" \")
                If ((wordCutPos > 0) AND (Len(message) > (sIdx+Len(partMessage)))) Then
\'                    formattedMessage = formattedMessage & \"<b>WORDBRE <font color=yellow>\"&partMessage &\"</font> AKFOUND</b>\"
                    partMessage = Left(partMessage, wordCutPos)
\'                    sIdx = sIdx + 1
                End If
               
                formattedMessage = formattedMessage & partMessage & \"<p>\"
               
                \' I need to create a new one every time in order to send
                \' multiple emails -- it\'s a bug in this object.
                Set Mailer = Server.CreateObject(\"SMTPsvg.Mailer\")
                Mailer.CharSet = 2
                Mailer.RemoteHost = \"mail.server.dk\"
\'                Mailer.FromName = sender
                Mailer.FromAddress = SERVEREMAIL
                Mailer.AddRecipient userAddress, userAddress
                Mailer.Subject = \"\"
                Mailer.BodyText = sender & partMessage
               
                If (Mailer.SendMail) Then
                    messageSend = True
                Else
                    messageSend = False
                End If
               
                Mailer.ClearRecipients()
               
\'                TLdelaySec(3)
               
                \' next message
                sIdx = sIdx + Len(partMessage)
               
                cnt = cnt + 1
               
                If (cnt > 10) Then
                    \' do NOT send more than ten messages total
                    messageSend = False
                End If

                Set Mailer = Nothing
               
            Loop While ( messageSend AND (Len(message) > sIdx) )
           
            If (NOT messageSend) Then
                returnMessage = Mailer.Response
\'                    returnMessage = Mailer.RemoteHost & \" | \" & userAddress
            End If
           
            Set Mailer = Nothing
        Else
            messageSend = False
        End If
   
    Else
        Response.Redirect \"default.asp\"
    End If \' // > If (Request(\"action\") = \"send\") Then
   
%>
Avatar billede lange Nybegynder
14. december 2000 - 09:29 #4
Som Erik Jacobsen skriver, så har du deklareret en SendMail-function, men du kalder den aldrig... Derudover skriver du altid, at beskeden er sendt - uden overhovedet at checke om den er det... Prøv at ændre din kode til noget lignende:


<%
Dim Jmail, Afsender, navn, adresse, tlf, email
Afsender    = \"Pesgo - Form\"
Navn        = Request.form(\"navn\")
adresse    = Request.form(\"adresse\")
tlf        = Request.form(\"tlf\")
email        = Request.form(\"mail\")

If navn = \"\" And adresse = \"\" and tlf = \"\" Then
%>
    Beskeden er ugyldigt... Udfyld alle felter tak :)
<%
Else
    Set JMail = Server.CreateObject(\"JMail.SMTPMail\")
    JMail.ServerAddress = \"mail.avengers.dk\"
    JMail.Sender = afsender
    JMail.Subject = navn
    JMail.Body = adresse
    JMail.AddRecipient email

    if JMail.Execute then
    %>
        Beskeden er sendt :)

        <%=Navn%><p>
        <%=adresse%><p>
        <%=tlf%><p>
        <%=email%><p>
        <%=afsender%><p>
    <%
    End If

    set JMail = nothing
End if
Avatar billede lange Nybegynder
14. januar 2001 - 15:06 #5
Måske der skulle gøres noget ved det her spørgsmål?
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