Avatar billede webbe Nybegynder
24. april 2002 - 11:17 Der er 11 kommentarer og
1 løsning

Vedhæft fil via JMail

Hejsa eksperter

Jeg har brug for et script der vedhæfter en hvilken som helst fil og sender den til en række modtagere via JMail.

Er der nogen der ligger inde med sådan et?

Det SKAL fungere 110%.

M.v.h.

Webbe
Avatar billede webbe Nybegynder
24. april 2002 - 11:58 #2
Det virker ikke....jeg bruger ASP-Upload.....ikke den der w3!
Avatar billede jmarkling Nybegynder
24. april 2002 - 12:07 #3
JMail.AddAttachment "c:\webserver\yourdomain\htdocs\pix\myphoto.jpg"
Avatar billede webbe Nybegynder
24. april 2002 - 12:09 #4
jmarkling:

Hmmm - og hvad så når det kommer fra et formularfelt af typen "FILE"?
Avatar billede jmarkling Nybegynder
24. april 2002 - 12:12 #5
Ja, den var straks værre...
Avatar billede jmarkling Nybegynder
24. april 2002 - 12:15 #6
I alle de online mail-systemer jeg har prøvet. hotmail, wanadoo etc. skal man først uploade filen til serveren før det kan lade sig gøre.
Så du skal først have filen uploadet til serveren. Med FileSystemObject metoden. gem derefter navnet (stien på filen)i en variabel og så vedhæft den bagefter.
sti = ?
JMail.AddAttachment sti
Avatar billede webbe Nybegynder
24. april 2002 - 12:25 #7
Har følgende kode:

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverWriteFiles = False
sti = Server.MapPath("./../newsletter/") & "\"
Upload.Save sti

email = Upload.Form("email")

If email = "Test" Then
    sql = "SELECT * FROM Test"
    Set rs = Connect.Execute(sql)
    hilsen = "Kære"
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_dk for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Danmark" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "SELECT * FROM Jupiter_club_dk", Connect, 1, 3
    hilsen = "Kære"
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_dk for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Norge" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_no", Connect, 1, 3
    hilsen = ""
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_no for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Sverige" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_se", Connect, 1, 3
    hilsen = ""
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_se for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Finland" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_sf", Connect, 1, 3
    hilsen = "Dear"
    strSlut = "Click in at http://www.jupiter.scanbox.com/frames_sf to see the news letter."
    strNoRes = "-Please do not reply on this mail-"
End if

If email = "England" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_uk", Connect, 1, 3
    hilsen = "Dear"
    strSlut = "Click in at http://www.jupiter.scanbox.com/frames_uk to see the news letter."
    strNoRes = "-Please do not reply on this mail-"
End if

subj = Upload.Form("header")
tekst = replace(Upload.Form("tekst"), VbCrLf, VbCrLf)

fil = upload.form("fil")
'Response.Write fil
'Response.End

do while not (rs.bof or rs.eof)

Set msg = Server.CreateObject("JMail.Message")

msg.Logging = True
msg.Silent = True

msg.From = "benteb@Scanbox.Com"
msg.FromName = "Jupiter Webmaster"
msg.AddRecipient rs("E_mail")
msg.Subject = subj
msg.Body = tekst
msg.Body = hilsen & " " & rs("Navn") & VbCrLf & VbCrLf & msg.Body & VbCrLF & VbCrLf & VbCrLf &"----------------------------------------" & VbCrLf & strSlut & VbCrLf & VbCrLf & strNoRes
msg.AddAttachment fil

If not msg.Send("10.1.1.32") Then
    Response.Write "<pre>" & msg.log & "</pre>"
Else
    Response.Write "Beskeden er sendt!"
End if

rs.MoveNext
loop

Set JMail = Nothing

Response.Redirect("news_letter_ok.asp")

Men får følgende fejl:

jmail.Message error '8000ffff'

Cannot open file

/admin/news_send.asp, line 80
Avatar billede webbe Nybegynder
24. april 2002 - 12:32 #8
Fandt en løsning - har nu lavet følgende:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "dsn_name"

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverWriteFiles = False
sti = Server.MapPath("./../newsletter/") & "\"
Upload.Save sti

Set fil = Upload.Files("letter")
    If fil is nothing Then
        fil1 = ""
    Else
        fil1 = fil.ExtractFileName
    End if
email = Upload.Form("email")
filSti = sti & fil1

'Response.Write filSti
'Response.End

If email = "Test" Then
    sql = "SELECT * FROM Test"
    Set rs = Connect.Execute(sql)
    hilsen = "Kære"
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_dk for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Danmark" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open "SELECT * FROM Jupiter_club_dk", Connect, 1, 3
    hilsen = "Kære"
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_dk for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Norge" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_no", Connect, 1, 3
    hilsen = ""
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_no for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Sverige" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_se", Connect, 1, 3
    hilsen = ""
    strSlut = "Klik ind på http://www.jupiter.scanbox.com/frames_se for at se nyhedsbrevet."
    strNoRes = "-Svar venligst ikke på denne mail-"
End if

If email = "Finland" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_sf", Connect, 1, 3
    hilsen = "Dear"
    strSlut = "Click in at http://www.jupiter.scanbox.com/frames_sf to see the news letter."
    strNoRes = "-Please do not reply on this mail-"
End if

If email = "England" Then
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.open "SELECT * FROM Jupiter_club_uk", Connect, 1, 3
    hilsen = "Dear"
    strSlut = "Click in at http://www.jupiter.scanbox.com/frames_uk to see the news letter."
    strNoRes = "-Please do not reply on this mail-"
End if

subj = Upload.Form("header")
tekst = replace(Upload.Form("tekst"), VbCrLf, VbCrLf)

do while not (rs.bof or rs.eof)

Set msg = Server.CreateObject("JMail.Message")

msg.Logging = True
msg.Silent = True

msg.From = "benteb@Scanbox.Com"
msg.FromName = "Jupiter Webmaster"
msg.AddRecipient rs("E_mail")
msg.Subject = subj
msg.Body = tekst
msg.Body = hilsen & " " & rs("Navn") & VbCrLf & VbCrLf & msg.Body & VbCrLF & VbCrLf & VbCrLf &"----------------------------------------" & VbCrLf & VbCrLf & strNoRes
msg.AddAttachment filSti

If not msg.Send("10.1.1.32") Then
    Response.Write "<pre>" & msg.log & "</pre>"
Else
    Response.Write "Beskeden er sendt!"
End if

rs.MoveNext
loop

Set JMail = Nothing

Response.Redirect("news_letter_ok.asp")
%>
Avatar billede webbe Nybegynder
24. april 2002 - 12:33 #9
jmarkling:

Pointene er dine! ;0)
Avatar billede webbe Nybegynder
24. april 2002 - 12:35 #10
Hovsa - får stadig følgende fejl:

jmail.Message error '8000ffff'

Cannot open file D:\www\jupiter.scanbox.com\newsletter\

/admin/news_send.asp, line 80

Linie 80 er

msg.AddAttachment filSti
Avatar billede webbe Nybegynder
24. april 2002 - 13:01 #11
Bruger en fast sti til filen istedet - pointene er stadig dine! ;0)
Avatar billede jmarkling Nybegynder
24. april 2002 - 13:07 #12
takker...
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