Avatar billede jessbonde Nybegynder
09. november 2003 - 16:11 Der er 42 kommentarer og
1 løsning

hvordan bruger jeg nq() i jMail?

Jeg har et loop der sender mails ud:

Do while Not RS.EOF
        mailbody = mailbody1 & ParseBR(mySmartUpload.form("frmText")) & VbCrLf
        mailbody = mailbody & mailbody2 & RS("id")
        mailbody = mailbody & mailbody3
        Set msg = Server.CreateOBject("JMail.SMTPMail")
        msg.ContentType = "text/html"
        msg.Sender = "mail@moderndrums.dk"
        msg.SenderName = "Modern drums"
        msg.Charset = "iso-8859-1"
        msg.AddRecipient RS("adresse")
        msg.Subject = mySmartUpload.form("frmSubject")
        msg.Body = mailBody
        msgServerAddress = "mail.moderndrums.dk"
        msg.Execute()
        Set msg = nothing
        response.write(RS("adresse") & "<br>")
        RS.movenext
loop

Den er ikke ret effektiv da den stopper efter et vist antal emails, ikke ret smart.
Hvordan sætter jeg den til at bruge nq() ?
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:22 #1
Er nq() en funktion du selv har lavet? hvis ikke, hvad er det?
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:23 #2
dit script looper så længe du ikke er noget til slutningen af databasen, dvs den sender mails til alle adr i db'en..
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:24 #3
burde der ikke have været "." mellem msg og ServerAddress:
msgServerAddress = "mail.moderndrums.dk"?
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:31 #4
hvis alle mail adr skal have samme besked, brug da:

do while not rs.eof
modtagere = modtager & rs("adresse") & ","
rs.movenext
loop

if right(modtager, 1) = "," then modtagere = left(modtagere, len(modtagere) -1)

mailbody = mailbody1 & ParseBR(mySmartUpload.form("frmText")) & VbCrLf
mailbody = mailbody & mailbody2 & RS("id")
mailbody = mailbody & mailbody3
Set msg = Server.CreateOBject("JMail.SMTPMail")
msg.ContentType = "text/html"
msg.Sender = "mail@moderndrums.dk"
msg.SenderName = "Modern drums"
msg.Charset = "iso-8859-1"
msg.AddRecipient modtagere  ''''''''''''''''''''''''' indsat her
msg.Subject = mySmartUpload.form("frmSubject")
msg.Body = mailBody
msgServerAddress = "mail.moderndrums.dk"
msg.Execute()
Set msg = nothing

response.write "Mailen er sendt til:<br><br>" & replace(modtagere, ",", "<br>")
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:32 #5
der skal selvfølgelig stå "modtagere" hele vejen..
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:32 #6
hmm.. det skal ikke have samme besked..?:
RS("id")
Avatar billede jessbonde Nybegynder
09. november 2003 - 16:35 #7
De skal alle have samme besked, men hver enkelt må ikke vide alle de andre adresser i kartoteket
Avatar billede jessbonde Nybegynder
09. november 2003 - 16:36 #8
nq() er en funktion der sætter mailadresserne i kø og sender dem alle ud på en gang.
http://www.dimac.net/Products/w3JMail/Manuals/w3_JMail.pdf
Side 6
Jeg får fejlen:
jmail.SMTPMail error '8000ffff'

Connection timed out

/login/upload_nyhedsbrev.asp, line 74
Mit timeout er sat til 180 sekunder og den når kun at sende 18 emails ud.
Punktummet havde ummiddelbart ingen betydning
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:37 #9
hvad bruger du så RS("id") til?
hvis du kan fjerne den, kan du bruge mit indlæg..
du skal nok bruge:

msg.AddRecipient "mail@moderndrums.dk"
msg.AddRecipientBCC modtagere
Avatar billede jessbonde Nybegynder
09. november 2003 - 16:39 #10
Jeg skal bruge RS("id") fordi at der skal et fortløbende nummer på hver gang man sender en ny mail ud. RS("id") kommer ikke fra adresse tabellen
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:39 #11
hvad er det lige at du oploader og hvad laver ParseBR?:
ParseBR(mySmartUpload.form("frmText"))
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:42 #12
det der med nq().. jeg tror at det skal bare skal msg.nq()
Avatar billede thesurfer Nybegynder
09. november 2003 - 16:45 #13
er du sikker på at du ikke bare kan bruge request.form("frmtext") ?
Avatar billede jessbonde Nybegynder
09. november 2003 - 16:49 #14
Dokumentet der sender mails uploader også et billede som skal vises i mailen.
Det er bare en metode jeg har brugt for at komme omkring at skulle vedhæfte billedet. Der skal parseBR's fordi det er en html mail.
Jeg har prøvet msg.nq() det virker ikke
Avatar billede jessbonde Nybegynder
09. november 2003 - 16:52 #15
Undskyld, RS("id") bruges i et frameldelseslink, men det er ikke vigtigt
Avatar billede thesurfer Nybegynder
09. november 2003 - 17:05 #16
huh? oploader du det samme billede hver gang du vil sende mailen ?
Avatar billede thesurfer Nybegynder
09. november 2003 - 17:06 #17
se lige den nedereste del af http://www.opfinderen.dk/sites/?id=14 !
Avatar billede jessbonde Nybegynder
09. november 2003 - 17:12 #18
Jeg skal jo bare have den til at sende alle mails ud. Problemet er at den ikke når alle adresser igennem. RS("id") bruges så modtageren kan framelde sig nyhedsbrevet i et link i mailen. Variablen id bruges til at linke til det billede man har uploadet i forbindelse med udsendelse med nyheden.

I øjeblikket har jeg sat den til at skrive adressen ud i linket og får fejlen:

39@orangenet.dk
6x120767@tiscali.dk
7021@ofir.dk
aamanden@ofir.dk
adam_t102@hotmail.com
ajeppesen@sol.dk
akth100@hotmail.com
allan@vintageludwig.com
allanhartvig@hotmail.com
alwaysenjoycola@hotmail.com
anders@bsm.dk
anders@tbc.dk
anderssenderovitz@mail.tele.dk
anderssuperstar@hotmail.com
andflyv@rockblaat.dk
andreas-birkbak@ofir.dk
askebendtsen@hotmail.com
axel-divided@sol.dk

jmail.SMTPMail error '8000ffff'

Connection timed out

/login/upload_nyhedsbrev.asp, line 74
Avatar billede thesurfer Nybegynder
09. november 2003 - 17:25 #19
Helst ikke poste andres informationer i et offentligt forum.

---

"Variablen id bruges til at linke til det billede man har uploadet i forbindelse med udsendelse med nyheden"

Den forstår jeg ikke helt.
Det er DIG der sender nyhedsbrevet ud, ik?
Hvorfor skal der så oploades et billede hver gang der sendes en mail? er der brugerens billede? Det kan det jo ikke være, for du sidder ikke ved hans computer..

Altså må det gøres sådan her:
Brugeren opretter en eller anden profil (brugernavn, email, billede). Billedet kommer til at hedde det samme som brugernavn, eller også får det et ID nr, f.eks. 2.jpg
Brugernavn og email gemmes i database.

Du bruger så din første kode..
MEN: billedet findes allerede på serveren og skal derfor IKKE oploades (jeg tror at det er det der tager tid).
du bruger i stedet:

msg.AddURLAttachment "http://www.domaene.dk/2.jpg" (her er id = 2)
Avatar billede thesurfer Nybegynder
09. november 2003 - 17:28 #20
Enten så har du misforstået mig, eller også har jeg misforstået dig.

Løsning?
Fortæl hvordan det hele forgår:
* Brugeren besøger dit website
* Opretter brugernavn (hvad data gemmes?)
* Du skriver hvordan du laver nyhedsbrevet
* Skriv hvordan du aktivér "send mail til alle" proceduren
* ...

Forklar alt..
Lav en stil om det, på minimum 500 ord :)
Avatar billede jessbonde Nybegynder
09. november 2003 - 17:33 #21
Der er ikke noget med profiler og billederne har ikke noget med brugeren at gøre. Der er bare mulighed for at sende et billede sammen med nyhedsmailen.
Jeg uploader først billedet og linker derefter til det i mailen.
Avatar billede thesurfer Nybegynder
09. november 2003 - 17:36 #22
hvis mySmartUpload.form("frmText") betyder opload (hvilket jeg tror det gør) vil den oploade hver eneste gang den finder en post i databasen
Avatar billede jessbonde Nybegynder
09. november 2003 - 17:39 #23
Brugeren tilmelder sig bare et nyhedsbrev med sin email adresse.
Adressen bliver gemt i databasen.
Når jeg (moderndrums) vil sende nyhedsbrev ud, skriver jeg en tekst og vælger et billede der skal være i mailen.
Billedet får ved hjælp af det sidst indsatte id i db'en et unikt navn som jeg linker til i mailen. På den måde bliver alle billeder gemt på serveren og jeg kan blive ved med at sende mails ud og sætte forskellige billeder på.
Avatar billede jessbonde Nybegynder
09. november 2003 - 17:42 #24
Nej det betyder ikke opload, det bruges i stedet for request.form("frmText") når jeg poster med enctype="multipart/form-data" altså der bliver sendt en fil med (billedet)
Avatar billede thesurfer Nybegynder
09. november 2003 - 18:01 #25
Virker det med oploade af billede?
Folk plejer at sige at man ikke kan oploade tekst sammen med en vil via SmartUpload..
Avatar billede jessbonde Nybegynder
09. november 2003 - 18:04 #26
nå, men det var den der nq() funktion vi kom fra
Avatar billede thesurfer Nybegynder
09. november 2003 - 18:07 #27
har du prøvet at oploade biledet seperat?
altså først oploade billede, og derefter skriver du nyheden..

og har du prøvet:
msg.AddURLAttachment "http://www.domaene.dk/2.jpg" (her er id = 2)

?
Avatar billede jessbonde Nybegynder
09. november 2003 - 18:13 #28
Jeg har prøvet at sætte min egen adresse ind 80 gange, og får 80 emails tilsendt. Det har den åbenbart ingen problemer med.
Men når den skal sende til forskellige adresser opstår fejlen.
Men det er jo lidt svært at tjekke om den dender mails ud. Folk bliver nok lidt trætte af det hvis de bliver ved med at få tilsendt test mails.

Jeg uploader først og sender mails ud bagefter.
Her er mit dokument:

<%
Dim mySmartUpload
Dim intCount
Dim file

Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
Set Image = Server.CreateObject("AspImage.Image")

call openDBAdmin
call sendMails
call closeDB
call reply("Nyhedsbrevet er udsendt til disse adresser")

function sendMails
    Dim mailbody1, mailbody2, mailbody3, mailbody, msg, msgServerAddress
    mySmartUpload.Upload
    intCount = mySmartUpload.Save("../upload")
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(Server.Mappath("../upload"))
    Set objFiles = objFolder.Files
   
    For Each File in objFiles
        strSQL = "INSERT INTO tbl_billed_Id (billed_Id) VALUES ('q')"
        set RS = objConn.execute(strSQL)
        strSQL = "SELECT @@IDENTITY as newID"
        set RS = objConn.execute(strSQL)
        Dim id
        id = RS("newID")
        Image.LoadImage(File.path)
        If (image.MaxX > 320) then
            resizeX(320)
        end if
        Image.FileName = server.mappath("../upload/news") & "/" & id & ".jpg"
        Image.SaveImage
        File.delete
        strSQL = "DELETE * FROM tbl_billed_Id WHERE Id = " & id
        set RS = objConn.execute(strSQL)
    Next
   
    strSQL = "SELECT * FROM tbl_emails ORDER BY adresse"
    set RS = objConn.execute(strSQL)

mailbody1 = "<html><head><title>Moderndrums</title><style>A:LINK{font-family: Arial, Helvetica, sans-serif;    font-size: 8pt; color: #9D0000; font-weight:normal; text-decoration:none;}A:VISITED{font-family: Arial, Helvetica, sans-serif; font-size: 8pt; color: #9D0000; font-weight:normal; text-decoration:none;}A:HOVER{font-family: Arial, Helvetica, sans-serif;    font-size: 8pt; color:#000000; font-weight:normal; text-decoration: underline + overline;}TD{font-family: Arial, Helvetica, sans-serif; font-size: 8pt; color: Black;}.head1{font-family: Arial, Helvetica, sans-serif;    font-size: 10pt; color: Black; font-weight:bold;}.adresse{font-family: Arial, Helvetica, sans-serif;font-size: 7pt;color: Black;}</style></head><body leftmargin=""0"" rightmargin=""0"" bottommargin=""0"" topmargin=""0"" marginheight=""0"" marginwidth=""0""><table height=""100%"" width=""800"" cellpadding=""0"" cellspacing=""0"" border=""0""><tr><td width=""50"" rowspan=""5"" background=""http://www.moderndrums.dk/img/bg.gif"">&nbsp;</td><td rowspan=""5"" background=""http://www.moderndrums.dk/img/black.gif"" width=""1""><img src=""http://www.moderndrums.dk/img/black.gif""></td><td width=""700"" height=""1"" background=""http://www.moderndrums.dk/img/black.gif""><img src=""http://www.moderndrums.dk/img/black.gif"" height=""1""></td><td rowspan=""5"" background=""http://www.moderndrums.dk/img/black.gif"" width=""1""><img src=""http://www.moderndrums.dk/img/black.gif""></td><td width=""50"" rowspan=""5"" background=""http://www.moderndrums.dk/img/bg.gif"">&nbsp;</td></tr><tr><td width=""700"" valign=""top"" height=""70""><img src=""http://www.moderndrums.dk/img/md-banner.gif""></td></tr><tr><td width=""700"" valign=""top"" height=""1"" background=""http://www.moderndrums.dk/img/black.gif""><img src=""http://www.moderndrums.dk/img/black.gif"" height=""1""></td></tr><tr><td valign=""top""><table width=""700"" cellpadding=""5"" cellspacing=""0"" border=""0""height=""100%""><tr><td valign=""top""><span class=""head1"">Modern drums nyhedsbrev</span><br>"

mailbody2 = "</td><td valign=""top"" align=""right""><img src=""http://www.moderndrums.dk/upload/news/" & id & ".jpg"" border=""1""></td></tr><tr><td colspan=""2"" valign=""bottom"">Venlig hilsen<br>Modern drums<br>Frejasvej 23<br>8230 Åbyhøj<br>Tlf. 8768 0166<br><a href=""http://www.moderndrums.dk"" target=""_blank"">www.moderndrums.dk</a><br><a href=""mailto:mail@moderndrums.dk"">mail@moderndrums.dk</a><br><span class=""adresse"">_____________________________________</span><br><span class=""adresse"">Du modtager denne e-mail fordi din mail-adresse er blevet tilmeldt nyhedsbrevet på www.moderndrums.dk</span><br><span class=""adresse"">Hvis du ikke ønsker at modtage flere nyhedsbreve bedes du klikke på det nedenstående link:</span><br><a href=""http://www.moderndrums.dk/newsletter/afmeld_newsletter.asp?id="

mailbody3 = """>Afmeld nyhedsbrev</a></td></tr></table></td></tr><tr><td width=""700"" valign=""bottom"" height=""1"" background=""http://www.moderndrums.dk/img/black.gif""><img src=""http://www.moderndrums.dk/img/black.gif"" height=""1""></td></tr></table></body></html>"
    Do while Not RS.EOF
        mailbody = mailbody1 & ParseBR(mySmartUpload.form("frmText")) & VbCrLf
        mailbody = mailbody & mailbody2 & RS("id")
        mailbody = mailbody & mailbody3
        Set msg = Server.CreateOBject("JMail.SMTPMail")
        msg.ContentType = "text/html"
        msg.Sender = "mail@moderndrums.dk"
        msg.SenderName = "Modern drums"
        msg.Charset = "iso-8859-1"
        msg.AddRecipient RS("adresse")
        msg.Subject = mySmartUpload.form("frmSubject")
        msg.Body = mailBody
        msg.ServerAddress = "mail.moderndrums.dk"
        msg.Execute()
        Set msg = nothing
        response.write(RS("adresse") & "<br>")
        RS.movenext
    loop
end function
'--------------------------------------------------------------------------------------------
Sub ResizeX (intXSize)
  Dim intYSize
  intYSize = (intXSize / Image.MaxX) * Image.MaxY
  Image.ResizeR intXSize, intYSize
end sub
'--------------------------------------------------------------------------------------------
Sub ResizeY (intYSize)
  Dim intXSize
  intXSize = (intYSize / Image.MaxY) * Image.MaxX
  Image.ResizeR intXSize, intYSize
end sub

Set objFiles = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
%>
Det er det jeg gør, her er mit dokument
Avatar billede thesurfer Nybegynder
10. november 2003 - 20:00 #29
bliver det her udført rigtigt?:
response.write(RS("adresse") & "<br>")
Avatar billede jessbonde Nybegynder
10. november 2003 - 20:06 #30
ja, indtil den stoppede.
Men jeg tror jeg har løst problemet ved at sætte script timeout op til 300 sek.
Avatar billede thesurfer Nybegynder
10. november 2003 - 20:31 #31
jeg fatter det ikke helt.. den burde sende alle mails selvom de ikke er ens.. det er jo sjældent at man sender 80 mails til samme adr :)
Avatar billede jessbonde Nybegynder
10. november 2003 - 20:33 #32
Det var jo for at teste, jeg kan jo ikke teste og sende mails ud til 250 mennesker. Så risikerer jeg jo bare at de afmelder nyhedsbrevet
Avatar billede thesurfer Nybegynder
10. november 2003 - 20:45 #33
Jeg ved godt at det med de 80 var for at teste..
Og det er ikke det jeg kritiserer.. det er at den ikke kan finde ud af at sende til de forskellige adr..
Så vidt jeg ved, kan man send til flere mail adr ved at skrive dem alle, seperater at et komme..
eksempel:
1@1.dk,2@2.dk,3@3.dk,etc...

Det burde du også kunne gøre..

Nu kan jeg ikke huske om vi har prøvet det her, men prøv at sende mailsne UDEN først at oploade billedet..
Avatar billede jessbonde Nybegynder
10. november 2003 - 20:54 #34
Jo det har du foreslået én gang. Den der får mailen må ikke se hvem den ellers er sendt ud til. På den måde kan moderndrums' konkurrenter tilmelde sig nyhedsmailen og få alle mailadresser på moderndrums' kunder.
Jeg kan ikke se hvorfor det skulle hjælpe at undlade upload af billedet.
De to scripts bliver jo afviklet hver for sig.
Desuden har jeg fået det til at virke.
Avatar billede thesurfer Nybegynder
10. november 2003 - 20:59 #35
I mit indlæg @ 09/11-2003 16:37:22 skriver jeg:
---
du skal nok bruge:

msg.AddRecipient "mail@moderndrums.dk"
msg.AddRecipientBCC modtagere
---

.AddRecipientBCC  <--

BCC står for Blind Carbon Copy, hvilket betyder at de mail adr der står her, bliver ikke skrevet i mailen..
Hvis man vil sende til en gruppe, gør man følgende:

TO: ens-egen@email.dk
BCC: person1@whatever.dk,asdasd@asdad.dk,fdjgv@uhgdero.dk,etc....

De får hver en mail der er
From: ens-egen@email.dk
To: ens-egen@email.dk

De kan ikke se de mail adr der står i BBC.
Avatar billede jessbonde Nybegynder
10. november 2003 - 21:05 #36
Hvis du ikke kan svare på spørgsmålet som går på hvordan man bruger nq() funktionen, så synes jeg vi skal ende thread'en her.
Desuden skal hver mail jo have et unikt id så hver enkelt bruger kan afmelde sig nyhedsmailen via et link, det tror jeg også jeg har sagt før.
Men tak for indsatsen.
Avatar billede thesurfer Nybegynder
10. november 2003 - 21:19 #37
Efter at havde læst i manualen ( http://www.dimac.net/Products/w3JMail/Manuals/w3_JMail.pdf ) side 6+20, skrev jeg:
"jeg tror at det skal bare skal msg.nq()"

Ellers kan jeg ikke svare på dit spm.
Avatar billede cpufan Juniormester
10. november 2003 - 23:19 #38
du må omkring dit webhotel, og høre dem hvor de har deres temp-dir til mailkøen, da den åbenbart ikke er det sted jmail tror den er.
Avatar billede thesurfer Nybegynder
18. december 2003 - 04:46 #39
Dette spørgsmål mangler input.
Det kan f.eks. være at spørgeren mangler at acceptere/afvise svar/komme med feedback, eller af en svarer mangler at lægge et svar/komme med feedback.
Avatar billede jessbonde Nybegynder
31. januar 2004 - 00:05 #40
the surfer> Lav svar hvis du vil have point for indsatsen
Avatar billede thesurfer Nybegynder
01. februar 2004 - 17:46 #41
Nej tak.. du lægger bare selv et svar og accepterer det.
Avatar billede jessbonde Nybegynder
06. juni 2004 - 23:08 #42
sp lukket
Avatar billede thesurfer Nybegynder
06. juni 2004 - 23:42 #43
Du skal lige huske at markere dit navn i boksen, inden du klikker på Accepter-knappen.. :-)
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