JMail problem med mailing lista

ASP

12 svar · 300 visningar · startad av His Divine Shadow

Medlem sedan sep. 20004 079 inlägg
Trådstart#1

Detta problem får jag när jag försöker skicka mail via min mailing lista.

"jmail.SMTPMail error '8000ffff'

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

/Mlist/email.asp, line 62"

Här är koden för JMail:

Do While not Recordsx.eof
Set jmail=Server.CreateObject("jmail.smtpmail")
jmail.ServerAddress="pop3.uniimport.fi"
jmail.AddRecipient Recordsx("email")
jmail.Sender=request.form("fromName")
jmail.SenderName=request.form("fromName")
jmail.Subject=Request.Form("subject")
jmail.Body=request.form("body") & chr(13) & request.form("ending")
jmail.Execute
Set jMail = nothing
Recordsx.movenext
i=i+1
loop

Det var CDONTS förut med det funkade inte på servern så jag använde JMail
Det funkar också när jag använder test databasen, enda skillanden där är att det bara finns en e-mail adress.

Medlem sedan dec. 19998 577 inlägg
#2

Vad står på rad 62?

Medlem sedan sep. 20004 079 inlägg
#3

Rad 62 -> jmail.Execute

Medlem sedan juni 200032 967 inlägg
#4

varför skapar du jmail-objektet inne i loopen? du skapar ett objekt för varje mail du ska skicka, och det är ett resursslöseri.

plocka ut objektskapandet utanför loopen, och givetvis även set kef=nothing utanför.

sen kan du ju använda jmail-loggen för att se lite mer...

Medlem sedan sep. 20004 079 inlägg
#5

kef?

Medlem sedan juni 200032 967 inlägg
#6

ja, eller jmail som du kallar objektet...

Medlem sedan sep. 20004 079 inlägg
#7

Tja jag gissade det, men jag vet inte var loggen sparas.

Medlem sedan juni 200032 967 inlägg
#8

det finns alldeles utmärkt information om komponenten jmail på tillverkarens sida.

om den version du använder funkar på samma sätt som min så kan man göra så här:

jmail.logging=true
.
.
.
.
response.write jmail.log
Medlem sedan sep. 20004 079 inlägg
#9

Såhär ser det ut nu men ingen log fil...
set connection = Server.CreateObject("ADODB.Connection")
Connection.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("/mlist") & "\blr.mdb;"
Set Recordsx = CreateObject("ADODB.Recordset")
sqltemp = "SELECT * FROM swe"
Recordsx.Open sqltemp, Connection,2,3

i=0
Set jmail=Server.CreateObject("jmail.smtpmail")
jmail.logging=true
Do While not Recordsx.eof
jmail.ServerAddress="pop3.uniimport.fi"
jmail.AddRecipient Recordsx("email")
jmail.Sender=request.form("fromName")
jmail.SenderName=request.form("fromName")
jmail.Subject=Request.Form("subject")
jmail.Body=request.form("body") & chr(13) & request.form("ending")
jmail.Execute
response.write jmail.log
on error resume next '## Ignore Errors
Recordsx.movenext
i=i+1
loop
Set jMail = nothing

set rsEmail = nothing

response.write "Sent " & i & " emails"
end if

Medlem sedan juni 200032 967 inlägg
#10

prova att flytta ut

response.write jmail.log

ur loopen och ta bort on error resume next...

Medlem sedan sep. 20004 079 inlägg
#11

nej funkar inte.
Skapar den filen fast den inte finns va?
el. måste jag skapa en fil som heter det?

Kanske jag har fel version?

Medlem sedan juni 200032 967 inlägg
#12

det är ingen fil.

du sätter på loggningen och skriver ut en property. det har ingenting med filer att göra.

Medlem sedan sep. 20004 079 inlägg
#13

Det funkar nu men alla får 2 st. kopior av mailen.
Varför?

261 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)