Avatar billede ponyboye Nybegynder
16. oktober 2004 - 00:58 Der er 11 kommentarer og
1 løsning

Jmail vil ikke send?

Er der nogen er kan se nogle fejl i denne kode:

<%
Set objConn=Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")

objConn.ConnectionString = connectionStr
objConn.Open

Set adminRS = objConn.Execute("SELECT * FROM ADMIN")
SENDEMAIL = adminRS("SMTPMail")
FROMEMAILADDRESS = adminRS("FROMEMAIL")

Set adminRS = Nothing

NDay = Right("00" & day(now),2)
NDay = NDay & Ucase(MonthName(month(now), true)) & Right(year(now),2)   

Set objRS = objConn.Execute("SELECT MAX(ticketnumber)AS TNUM FROM REQUESTS WHERE (((ticketnumber) LIKE '%" & NDay & "'))")
if isNULL(objRS("TNUM")) then 
          GetRefNumber = "0001-" & NDay
else
    CurRef = objRS("TNUM")
    NRef = trim(left(CurRef,instr(CurRef, "-")-1))
    NRef = "00000" & (NRef + 1)
    GetRefNumber = Right(NRef,4)& "-" & NDay
end if
objRS.close


Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandText = "SELECT * FROM REQUESTS WHERE 1 = 2"
cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = objConn
objRS.Open cmdTemp, , 1, 3
objRS.addnew
objRS("ticketnumber") = ucase(GetRefNumber)
objRS("email") = Request("email")
objRS("fullname") = Request("fullname")
objRS("categoryid") = Request("category")
objRS("severity") = Request("severity")
objRS("status") = Request("status")
objRS("description") = Request("description")
       
objRS.Update           
objRS.close
Set objRS = Nothing
Set objConn = Nothing


'Check if sendemail is set up by admin

If SENDEMAIL Then
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.Logging = True
    JMail.Silent = True
    JMail.Sender = "danskehojtider@danskehojtider.dk"
    JMail.AddRecipient = "danskehojtider@danskehojtider.dk"
    JMail.SenderName = request("email")
    JMail.ReplyTo = "danskehojtider@danskehojtider.dk"
    JMail.Subject = "Zen Help Desk - Ref# " & ucase(GetRefNumber)
    strBody = "<font color=""#333333"" face=""Verdana"" size=""2""> <p>The information you submitted is currently being processed.</p><p>If you want to track the request please use this ticket number :  <b>" & ucase(GetRefNumber) & "</b>.</p>&nbsp;</li></FONT>"       
    JMail.Body  = strBody
    Set JMail = Nothing
End If
   
Response.Write "<p>Thank you " & Request("fullname") & ". The information you submitted is currently being processed.</p><p>Your ticket number is <b>" & ucase(GetRefNumber) & "</b>."
%>

den er laver om fra denne:

<%
Set objConn=Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")

objConn.ConnectionString = connectionStr
objConn.Open

Set adminRS = objConn.Execute("SELECT * FROM ADMIN")
SENDEMAIL = adminRS("SMTPMail")
FROMEMAILADDRESS = adminRS("FROMEMAIL")

Set adminRS = Nothing

NDay = Right("00" & day(now),2)
NDay = NDay & Ucase(MonthName(month(now), true)) & Right(year(now),2)   

Set objRS = objConn.Execute("SELECT MAX(ticketnumber)AS TNUM FROM REQUESTS WHERE (((ticketnumber) LIKE '%" & NDay & "'))")
if isNULL(objRS("TNUM")) then 
          GetRefNumber = "0001-" & NDay
else
    CurRef = objRS("TNUM")
    NRef = trim(left(CurRef,instr(CurRef, "-")-1))
    NRef = "00000" & (NRef + 1)
    GetRefNumber = Right(NRef,4)& "-" & NDay
end if
objRS.close


Set cmdTemp = Server.CreateObject("ADODB.Command")
cmdTemp.CommandText = "SELECT * FROM REQUESTS WHERE 1 = 2"
cmdTemp.CommandType = 1
Set cmdTemp.ActiveConnection = objConn
objRS.Open cmdTemp, , 1, 3
objRS.addnew
objRS("ticketnumber") = ucase(GetRefNumber)
objRS("email") = Request("email")
objRS("fullname") = Request("fullname")
objRS("categoryid") = Request("category")
objRS("severity") = Request("severity")
objRS("status") = Request("status")
objRS("description") = Request("description")
       
objRS.Update           
objRS.close
Set objRS = Nothing
Set objConn = Nothing


'Check if sendemail is set up by admin

If SENDEMAIL Then
    Set MailObject = Server.CreateObject("CDONTS.NewMail")
    MailObject.BodyFormat = 0
    MailObject.mailformat = 0
    MailObject.From    = FROMEMAILADDRESS
    MailObject.To    = request("email")
    MailObject.Subject  = "Zen Help Desk - Ref# " & ucase(GetRefNumber)
    strBody = "<font color=""#333333"" face=""Verdana"" size=""2""> <p>The information you submitted is currently being processed.</p><p>If you want to track the request please use this ticket number :  <b>" & ucase(GetRefNumber) & "</b>.</p>&nbsp;</li></FONT>"       
    MailObject.Body  = strBody
    MailObject.Send
    Set MailObject = Nothing
End If
   
Response.Write "<p>Thank you " & Request("fullname") & ". The information you submitted is currently being processed.</p><p>Your ticket number is <b>" & ucase(GetRefNumber) & "</b>."
%>
Avatar billede para7 Nybegynder
16. oktober 2004 - 10:20 #1
Du mangler at execute din jMail med linjen:

JMail.Execute

Her er blokken efter indsættelsen:

If SENDEMAIL Then
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.Logging = True
    JMail.Silent = True
    JMail.Sender = "danskehojtider@danskehojtider.dk"
    JMail.AddRecipient = "danskehojtider@danskehojtider.dk"
    JMail.SenderName = request("email")
    JMail.ReplyTo = "danskehojtider@danskehojtider.dk"
    JMail.Subject = "Zen Help Desk - Ref# " & ucase(GetRefNumber)
    strBody = "<font color=""#333333"" face=""Verdana"" size=""2""> <p>The information you submitted is currently being processed.</p><p>If you want to track the request please use this ticket number :  <b>" & ucase(GetRefNumber) & "</b>.</p>&nbsp;</li></FONT>"       
    JMail.Body  = strBody
    JMail.Execute
    Set JMail = Nothing
End If
Avatar billede ponyboye Nybegynder
16. oktober 2004 - 22:41 #2
den sender ikke til brugeren eller mig når jeg indsætter dette.
men den udskriver fint slut beskeden og den kommer ikke med nogen fejl.

Response.Write "<p>Thank you " & Request("fullname") & ". The information you submitted is currently being processed.</p><p>Your ticket number is <b>" & ucase(GetRefNumber) & "</b>."
Avatar billede para7 Nybegynder
17. oktober 2004 - 10:10 #3
Jammen hov: du mangler også linjen:

JMail.ServerAddress = "mail.mitdomæne.dk"
(Det burde være din mailservers domæneadresse, men ellers prøver vi noget andet)


Her er blokken efter indsættelsen:

If SENDEMAIL Then
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ServerAddress = "mail.mitdomæne.dk"
    JMail.Logging = True
    JMail.Silent = True
    JMail.Sender = "danskehojtider@danskehojtider.dk"
    JMail.AddRecipient = "danskehojtider@danskehojtider.dk"
    JMail.SenderName = request("email")
    JMail.ReplyTo = "danskehojtider@danskehojtider.dk"
    JMail.Subject = "Zen Help Desk - Ref# " & ucase(GetRefNumber)
    strBody = "<font color=""#333333"" face=""Verdana"" size=""2""> <p>The information you submitted is currently being processed.</p><p>If you want to track the request please use this ticket number :  <b>" & ucase(GetRefNumber) & "</b>.</p>&nbsp;</li></FONT>"       
    JMail.Body  = strBody
    JMail.Execute
    Set JMail = Nothing
End If
Avatar billede ponyboye Nybegynder
17. oktober 2004 - 13:15 #4
den vil ikke sende heller ikke når jeg udskrifter
JMail.SenderName = request("email") med den email den skal sende til
Avatar billede para7 Nybegynder
17. oktober 2004 - 14:01 #5
Prøv at gå back to basics med en simpel testside. Hvis det ikke virker skulle du måske undersøge om jMail overhovedet er installeret og virker på dit webhotel:

<html>
<head></head>
<body>
<%
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.mitsite.dk"
jMail.sendername = "Mit Websteds Titel"
JMail.Sender = "mig@mitsite.dk"
JMail.Subject = "Simpel jMail testmail"
JMail.AddRecipient "dig@ditsite.dk" 
JMail.Execute
Set JMail = Nothing
%>
</body>
</html>
Avatar billede para7 Nybegynder
17. oktober 2004 - 14:03 #6
Du kan også prøve med CDONTS, som jeg kan poste en testside med.
Avatar billede ponyboye Nybegynder
17. oktober 2004 - 15:13 #7
kan man ikke sende mails uden JMail.ServerAddress = "mail.mitsite.dk"? skal man bruge smtp og hvorfor? for en normal kontakt form sendes også med mail og i dette tilfelde jmail og det virker fint.
Avatar billede para7 Nybegynder
17. oktober 2004 - 15:47 #8
Jeg forstår ikke helt hvad du mener. Den tredje mulighed jeg kender for at sende mails online er FormMail med et pearl script. Det er ikke noget værd for en asp'er.
Altså hvis jeg hedder jensen og har jensen.dk og jens@jensen.dk. vil det typisk se sådan ud:

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.jensen.dk"
jMail.sendername = "Jensens hjemmeside"
JMail.Sender = "jens@jensen.dk"
JMail.Subject = "Simpel jMail testmail"
JMail.AddRecipient "hans@hansen.dk" 
JMail.Execute
Set JMail = Nothing

Men altså, der er stor sandsynlighed for at CDONTS vil virke, hvis jMail ikke vil.
Avatar billede ponyboye Nybegynder
17. oktober 2004 - 15:54 #9
jeg har denne her og den sendes uden smtp.

<%
If Request.form("submit") <> "" then
Navn = Request.form("Navn")
Email = Request.form("Email")
Emme = Request.form("Emme")
Besked = Request.form("Besked")



Sprog = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
Forbindelse = Request.ServerVariables("HTTP_CONNECTION")
komponenter = Request.ServerVariables("HTTP_ACCEPT")
Browser = Request.ServerVariables("HTTP_USER_AGENT")
IP = Request.ServerVariables("REMOTE_ADDR")
nu = Now()
Dato = FormatDateTime(nu,vbLongDate) & " kl. " & FormatDateTime(nu,vbLongTime)
Set JMail = Server.CreateObject("JMail.SMTPMail")

JMail.Logging = True
JMail.Silent = True

  JMail.Sender = "kontakt@danskehojtider.dk"
  JMail.SenderName = "damslund@tiscali.dk"
  JMail.Subject = "Ny Forspørgelse/Besked"
  JMail.AddRecipient "kontakt@danskehojtider.dk"
  JMail.ReplyTo = Email

' ********** Her starter selve email-en

JMail.Body = "Beskeden afsendt " & Dato & vbCrLf
JMail.Body = JMail.Body & "------------------------------------------------------" & vbCrLf & vbCrLf
JMail.Body = JMail.Body & "Navn: " & Navn & vbCrLf
JMail.Body = JMail.Body & "Email: " & email & vbCrLf
JMail.Body = JMail.Body & "Emme: " & Emme & vbCrLf
JMail.Body = JMail.Body & "" & vbCrLf
JMail.Body = JMail.Body & "Besked: " & Besked & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf
JMail.Body = JMail.Body & "Afsender informatoner: " & vbCrLf
JMail.Body = JMail.Body & "------------------------------------------------------" & vbCrLf
JMail.Body = JMail.Body & "Afsenders IP.adresse: " & IP & vbCrLf & vbCrLf
JMail.Body = JMail.Body & "Afsenders browser: " & Browser & vbCrLf & vbCrLf
JMail.Body = JMail.Body & "Afsenders komponenter: " & komponenter & vbCrLf & vbCrLf
JMail.Body = JMail.Body & "Afsenders internet forbindelse: " & Forbindelse & vbCrLf & vbCrLf
JMail.Body = JMail.Body & "Afsenders sprog: " & Sprog & vbCrLf & vbCrLf
    ' ********** Her slutter selve email-en

  If Not JMail.Execute Then
    response.redirect("kontakt.asp?fejl=1")
  Else
    response.redirect("kontakt.asp?sendt=2")
  End If
End If
if request.querystring("fejl") = "1" then
  Response.Write "FEJL!"
elseif request.querystring("sendt") = "2" then
  Response.Write "Beskeden er sendt!!"
end if

%>
Avatar billede para7 Nybegynder
17. oktober 2004 - 16:47 #10
Ja men du har da linjen
Set JMail = Server.CreateObject("JMail.SMTPMail")
Men du har ingen
JMail.Execute

Hvordan skulle man kunne sende uden JMail.Execute ?
Avatar billede para7 Nybegynder
17. oktober 2004 - 17:27 #11
Jeg har prøvet med:

<%
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.Sender = "mig@mitdomæne.dk"
JMail.Subject = "Test af jMail uden ServerAddress og execute"
JMail.AddRecipient "dig@ditdomæne.dk"
JMail.Body = "Beskeden afsendt. "

If Not JMail.Execute Then
    response.write "Not executed"
Else
    response.write "executed"
End If

response.write "<br>Bunden af siden"
%>

Du har ret at man kan sende uden ServerAddress. Men der kræves en form for execute. Og det kommer åbenbart ind i billedet ved if sætningen. For uden den ingen forsendelse.

Jeg ville nu ikke binde an på det selv af sikkerhedsmæssige hensyn.
Avatar billede para7 Nybegynder
24. oktober 2004 - 16:25 #12
8)
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