---
title: "Jmail Problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/62023-jmail-problem"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Ivar"
published: "2002-12-12T22:48:23.000Z"
updated: "2002-12-18T21:04:26.000Z"
replies: 21
views: 612
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/62023-jmail-problem"
---

# Jmail Problem

_Sida 1 av 2._

## #1 — Ivar, 2002-12-12T22:48Z

Hej!
Jag får inte igång Jmail att funka. I formuläret har jag ett ja och nej knapp, om kunden väljer ja knapen då ska mailen skicks iväg som tack för annonsen. Eller hämta från databasen senaste mailen som trycktes ja.  
Snälla kan någon hjälpa mig? 
Kod som inte funkar:
\<%
Dim ConnectString, conn
ConnectString = "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("db/annonser.mdb")&";pwd=olle"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
sql = "SELECT  email FROM items "
Set rsItems = Server.CreateObject("ADODB.Recordset")
rsItems.Open sql, conn, 3, 3
%\>
\<%
Set JMail  = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "mail1.telia.com"
If Len("" & rsItems("email")) \> 3 then JMail.addrecipientbcc rsItems("email")
item = Request.Form("item")
SenderEmail = Request.Form("email")
'Subject = "Emnet er: " & Request.Form("subject")
email = Request.Form("email")
‘Comments = Request.Form("comments")
reciptient = Request.Form("reciptient")
JMail.Sender = Senderemail
'JMail.Subject = Subject 
JMail.AddRecipient Recipient 
'hämtar poster ur db
DO WHILE not rsItems.EOF
JMail.addrecipientbcc rsItems("email")
rsItems.movenext
LOOP
JMail.Body = "Name : " & Request.Form("item") & vbcrlf & vbcrlf \_
& "e-mail : " & Request.Form("email") & vbcrlf & vbcrlf \_
& "My Mesg.:  " & Request.Form("description")
JMail.Priority = 3 
'JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") 
JMail.Execute
rsItems.close
set rsItems = nothing
conn.close
set conn = nothing
%\>

Permalänk: https://www.webforum.nu/p/62023

## #2 — OveRRidE, 2002-12-12T22:55Z

Se alltid till att det finns en e-postadress som avsändare.

```
if len(sendermail) = > 0 then
   JMail.Sender = Senderemail
else
   JMail.Sender = "info@domän.se"
end if
```

Permalänk: https://www.webforum.nu/p/884914

## #3 — Ivar, 2002-12-15T18:17Z

Hej!
Det funkar inte en då mailet kommer inte fram och jag får inte något felmeddelande.
Kod:
 \<%
Dim ConnectString, conn
ConnectString = "driver={Microsoft Access Driver (\*.mdb)};dbq=" & Server.MapPath("db/annonser.mdb")&";pwd"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
sql = "SELECT  email, item, description FROM items  Where test='ja' ORDER BY dateCreated DESC"
Set rsItems = Server.CreateObject("ADODB.Recordset")
rsItems.Open sql, conn, 3, 3
%\>
\<%
Set JMail  = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "mail1.telia.com"
if len(sendermail) =\> 0 then
   JMail.Sender = Senderemail
else
   JMail.Sender = "info@domän.se"
end if
item = Request.Form("item")
SenderEmail = Request.Form("email")
Subject = "Emnet er: " & Request.Form("description")
email = Request.Form("email")
'Comments = Request.Form("comments")
reciptient = Request.Form("email")
JMail.Sender = Senderemail
JMail.Subject = Subject 
JMail.AddRecipient Recipient 
'hämtar poster ur db
DO WHILE not rsItems.EOF
JMail.addrecipientbcc rsItems("email")
rsItems.movenext
LOOP
JMail.Body = "Name : " & Request.Form("item") & vbcrlf & vbcrlf \_
& "e-mail : " & Request.Form("email") & vbcrlf & vbcrlf \_
& "My Mesg.:  " & Request.Form("description")
JMail.Priority = 3 
'JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR") 
result=JMail.Execute
rsItems.close
set rsItems = nothing
conn.close
set conn = nothing
If result = "True" Then
%\>
\<p align="center"\>\<font face="Verdana, Arial" size="2"\> \</font\>\</p\>
\<p align="center"\>\<font face="Verdana, Arial" size="2"\>Tack för Din best&auml;llning. 
  \</font\>\</p\>
\<p\>\<font face="Verdana, Arial" size="2"\> Din order har blivit mottagen och kommer 
  behandlas snarast m&ouml;jligt.\<br\>
  En kopia av ordern har skickats till dig.\<br\>
  H&auml;r nedan f&ouml;ljer &auml;ven en sammanst&auml;llning av din best&auml;llning: 
  \</font\> \</p\>
\<p\>\<font face="Verdana, Arial" size="2"\>
  \<% Else %\>
  \</font\>\</p\>
\<p\>\<font face="Verdana, Arial" size="2"\>\<%=description%\>\</font\> \</p\>
\<p\>\<font face="Verdana, Arial" size="2"\>\<%=item%\>\</font\> \</p\>
\<p\> Beställningen kunde inte slutföras pga e-mailproblem. Din beställning har 
  dock lagrats, och kommer snart att slutföras.\<br\>
  Var god kontakta oss gällande detta problem.\<br\>
  Felmeddelande var:\</p\>
\<p\>\<% End If %\>\</p\>
\<meta http-equiv="Refresh" content="7; URL=default.asp"\>

Permalänk: https://www.webforum.nu/p/886227

## #4 — Jesper T, 2002-12-15T18:52Z

Kan du verkligen ha telia som JmailServeradress?
Var vänlig och använd \[ kod \]-taggarna!

Permalänk: https://www.webforum.nu/p/886236

## #5 — Ivar, 2002-12-15T19:24Z

Jmail

Hej!
Slarvigt av mig ska komma ihåg kod tagarna.
Jag vett inte om det funkar med mail1.telia.com men hur ska jag testa Jmailen?
Jag kör ju IIS på XP.

Permalänk: https://www.webforum.nu/p/886257

## #6 — Ivar, 2002-12-16T13:31Z

Förslag?

Permalänk: https://www.webforum.nu/p/886736

## #7 — @nders, 2002-12-16T13:35Z

Sätt på jmail-loggningen och se om du får ut något intressant därifrån. Det kan vara så att du inte får skicka med teliaservern. 

```
 'skapa jmail-objekt
JMail.Logging = true
 ' All annan jmail-kod
Response.write Jmail.log
' förstör jmail-objekt
```

Permalänk: https://www.webforum.nu/p/886739

## #8 — OveRRidE, 2002-12-16T14:13Z

Har du Telia som ISP?

@nders, jag är nästan 100% på att JMail spottar ett felmess om mailservern skriker om någon relayingregel, jag har varit med om det ett par gånger när jag flyttat hela script till olika ISP:s. Den slänger alltid ett felmess.

Permalänk: https://www.webforum.nu/p/886759

## #9 — doggelito, 2002-12-16T14:59Z

sen går det inte så bra med denna:

```
if len(sendermail) => 0 then 
JMail.Sender = Senderemail 
else 
JMail.Sender = "info@domän.se" 
end if
```

om längden är 0 eller större så hämtas Senderemail?
du kan lägga på några tecken:

```
if len(sendermail) => 5 then 
JMail.Sender = Senderemail 
else 
JMail.Sender = "info@domän.se" 
end if
```

eftersom en epostadress alltid är minst 5 tecken. :)

Permalänk: https://www.webforum.nu/p/886781

## #10 — Ivar, 2002-12-17T18:20Z

Hej! 
Jag fick inte den gamla koden att fungera så jag byte ut mot den här som funkar 
Kod:
   \<% Option Explicit %\>
\<%
	Response.Buffer = True
	' Variable Declaration
	'---------------------
	Dim oConn ' as ADODB.Connection
	Dim sMyBody ' as String
	Dim sMySubject ' as String

	'sMyBody = Request.Form("meddelande")
	'sMySubject = Request.Form("amne")

' Create db-conn object
'----------------------
Private Function CreateDBConn()

	Set oConn = Server.CreateObject("ADODB.Connection")
		oConn.Provider = "Microsoft.Jet.OLEDB.4.0"
		oConn.ConnectionString = "Data Source=" & Server.MapPath("db/annonser.mdb")

End Function

' Destroy db-conn object
'-----------------------
Private Function DestroyDBConn()

	Set oConn = nothing

End Function

' Send Newsletter
'----------------
Private Sub myJmail(mySMTPserver, myMail, mySubject, myBody)

	Dim rs ' as adodb.recordset
	Dim strSQL ' as string
	Dim oMail ' as Jmail.SMTPmail
	Dim toMail ' as string

	' sql query to grab all emails from database
	'-------------------------------------------
	strSQL = "SELECT \* FROM items Where test='ja' ORDER BY dateCreated DESC"

	CreateDBConn()
	oConn.Open

	' Create mail-object
	'-------------------
	Set oMail = Server.CreateObject("Jmail.SMTPMail")
	oMail.LazySend = True
	oMail.ServerAddress = mySMTPServer
	oMail.Sender = myMail
	oMail.Subject = mySubject
	oMail.AddRecipient myMail

	Set rs = oConn.Execute(strSQL)

		If Not rs.EOF or rs.BOF Then

	Do Until rs.EOF or rs.BOf
on error resume next
	oMail.AddRecipientBCC  rs("Email")

		rs.MoveNext

			Loop

		End If

		Set rs = nothing

	oMail.Body = "Tack för Din beställning. Din order har blivit mottagen och kommer behandlas snarast möjligt. " 
		oMail.AddHeader "Originating-IP: ", Request.ServerVariables("REMOTE_ADDR")
	oMail.Execute

	Set oMail = nothing

	oConn.Close
	DestroyDBConn()

End Sub

	Call myJmail("mail1.telia.com","europaannons@yahoo.se",sMySubject,sMyBody)
%\>
\<html\>
\<head\>
\<title\>sendmail\</title\>
\<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"\>
\</head\>

\<body bgcolor="#FFFFFF"\>

\</body\>
\</html\>
\<meta http-equiv="Refresh" content="1; URL=default.asp"\>

Permalänk: https://www.webforum.nu/p/887588

## #11 — theland, 2002-12-17T20:11Z

Hej,
Installera SMTP under din IIS så kan du använda localhost för att skicka dina mail.

Du kan dessutom få den kod jag använder för att skicka mina mail om du skickar ett mail till mig.

/TobiasT
<http://webbhotell.theland.se> \- varför betala mer än nödvändigt

Permalänk: https://www.webforum.nu/p/887674

## #12 — Ivar, 2002-12-18T17:52Z

Hello!
Jag var något optimist om att Jmail fungerade som det ska men det är fel
Nämligen frågan i SQL fungerar inte. 
strSQL = "SELECT email FROM items Where test = 'ja' ORDER BY dateCreated DESC "
Om jag fatar rätt så emailen ska hemtas från items om det står ja i test men om det inte står ja då ska inte hända någonting. Alltså ingen mail ska skickas. Hur löser man det?

Permalänk: https://www.webforum.nu/p/888212

## #13 — @nders, 2002-12-18T17:56Z

Vad är det för fel på frågan då? Om test är ett textfält som innehåller texten *ja* så borde den returnera alla med det värdet, och inga andra med andra värden.

Alltså: vad är problemet?

Permalänk: https://www.webforum.nu/p/888215

## #14 — Ivar, 2002-12-18T18:04Z

Jo mailen skicks iväg i alla fall även om det står nej i test textfält.

Permalänk: https://www.webforum.nu/p/888218

## #15 — @nders, 2002-12-18T18:06Z

Då får du visa hur all din kod ser ut nu, för SQL-frågan är det (nog) inget fel på.

Red: Och använd \[kod\]-taggar runt din kod, så blir den fin och lättläst.

mvh,

Permalänk: https://www.webforum.nu/p/888220

## #16 — Ivar, 2002-12-18T18:10Z

Ok här är all kod: 
\<% Option Explicit %\> 
\<% 
Response.Buffer = True 
' Variable Declaration 
'--------------------- 
Dim oConn ' as ADODB.Connection 
Dim sMyBody ' as String 
Dim sMySubject ' as String 

'sMyBody = Request.Form("meddelande") 
'sMySubject = Request.Form("amne") 

' Create db-conn object 
'---------------------- 
Private Function CreateDBConn() 

Set oConn = Server.CreateObject("ADODB.Connection") 
oConn.Provider = "Microsoft.Jet.OLEDB.4.0" 
oConn.ConnectionString = "Data Source=" & Server.MapPath("db/annonser.mdb") 

End Function 

' Destroy db-conn object 
'----------------------- 
Private Function DestroyDBConn() 

Set oConn = nothing 

End Function 

' Send Newsletter 
'---------------- 
Private Sub myJmail(mySMTPserver, myMail, mySubject, myBody) 

Dim rs ' as adodb.recordset 
Dim strSQL ' as string 
Dim oMail ' as Jmail.SMTPmail 
Dim toMail ' as string 

' sql query to grab all emails from database 
'------------------------------------------- 
strSQL = "SELECT \* FROM items Where test='ja' ORDER BY dateCreated DESC" 

CreateDBConn() 
oConn.Open 

' Create mail-object 
'------------------- 
Set oMail = Server.CreateObject("Jmail.SMTPMail") 
oMail.LazySend = True 
oMail.ServerAddress = mySMTPServer 
oMail.Sender = myMail 
oMail.Subject = mySubject 
oMail.AddRecipient myMail 

Set rs = oConn.Execute(strSQL) 

If Not rs.EOF or rs.BOF Then 

Do Until rs.EOF or rs.BOf 
on error resume next 
oMail.AddRecipientBCC rs("Email") 

rs.MoveNext 

Loop 

End If 

Set rs = nothing 

oMail.Body = "Tack för Din beställning. Din order har blivit mottagen och kommer behandlas snarast möjligt. " 
oMail.AddHeader "Originating-IP: ", Request.ServerVariables("REMOTE_ADDR") 
oMail.Execute 

Set oMail = nothing 

oConn.Close 
DestroyDBConn() 

End Sub 

Call myJmail("mail1.telia.com","europaannons@yahoo.se",sMySubject,sMyBody) 
%\> 
\<html\> 
\<head\> 
\<title\>sendmail\</title\> 
\<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"\> 
\</head\> 

\<body bgcolor="#FFFFFF"\> 

\</body\> 
\</html\> 
\<meta http-equiv="Refresh" content="1; URL=default.asp"\>

Permalänk: https://www.webforum.nu/p/888222

## #17 — @nders, 2002-12-18T18:21Z

Jag kan inte se något direkt fel. Min enda tanke är att det faktiskt står en himla massa *ja* i tabellen. Om det inte står ja, vad står där då? Har man nullvärden i tabellen kan det ibland spöka lite grann.

Som sagt, kontrollera att tabellen verkligen innehåller det du tror, och använd fler \[kod\]-taggar. ;)

Jag vill också gärna att du tar bort *on error resume next* ur koden, den bara förstör.

Mvh,

Permalänk: https://www.webforum.nu/p/888228

## #18 — Ivar, 2002-12-18T18:48Z

Ibland kan det stå nej då ska inte mailen iväg. Ingen nullvärden

Permalänk: https://www.webforum.nu/p/888250

## #19 — solbulle, 2002-12-18T19:22Z

Har iofs inte direkt med det du frågar efter, men denna bit:

```
Do Until rs.EOF or rs.BOf 
on error resume next 
oMail.AddRecipientBCC rs("Email") 

rs.MoveNext 

Loop
```

Blir det inte som så att man står med endast det sista värdet i loopen som mottagare då?

RED. Fast vid närmare eftertanke kanske mailet bara ska gå till en person???

Permalänk: https://www.webforum.nu/p/888269

## #20 — Ivar, 2002-12-18T19:34Z

Jo jag vill att mailen ska iväg till sista personen som har tryckt ja i formuläret och ja lagras i databasen annars ingen mail skickas

Permalänk: https://www.webforum.nu/p/888276

---

Tråden på webben: https://www.webforum.nu/amne/asp/62023-jmail-problem  
Nästa sida: https://www.webforum.nu/amne/asp/62023-jmail-problem/page2.md
