Avatar billede mekaniker Nybegynder
04. juni 2002 - 13:21 Der er 13 kommentarer og
1 løsning

JMail

Jeg ved at man kan sende en email indeholdene HTML, altså tabeller, og andre objekter.

Jeg har prøvet at sykke noget sammen af nogle forskellige scripts, men kan ikke rigtig få det til at virke.
Jeg får selve teksten, men ikke html-delen.
min outlook er sat op til at modtage i html.

Script:
-------------
<html>

<head>
<title>Anbefaling</title>
</head>

<body BGCOLOR="#FFFFFF" TEXT="#000000">
<%
body = "<body bgcolor='#eeeeee'>"

body = body & "<table width='300' bgcolor='#666666'>"
body = body & "<tr><td valign='middle'>"
body = body & "<table width='100%' bgcolor='#FFFFFF' height='50'>"
body = body & "<tr><td valign='top'>"
body = body & "<table border='0' width='90%' align='center'>"
body = body & "<tr><td> </td></tr>"
body = body & "<tr><td>"
body = body & "<font face='tahoma' size='2' color='#000000'>"
body = body & "Dette er en test af en HTML mail ... "
body = body & "</font>"
body = body & "</td></tr>"
body = body & "</table>"
body = body & "</td></tr>"
body = body & "</table>"
body = body & "</td></tr>"
body = body & "</table>"

body = body & "</body>"

navn = request("navn")

if  Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
        Set JMail = Server.CreateObject("JMail.SMTPMail")
        JMail.ContentTransferEncoding = "8bit"
        JMail.Charset = "ISO-8859-1"
       
        JMail.Priority = 1
        JMail.ServerAddress = "mail.cafeedolce.dk"
    JMail.Sender = "info@cafeedolce.dk"
        JMail.Subject = "Anbefaling"
   
    JMail.HTMLBody = body
   
    JMail.Body = "Hej!" & vbCrLf & "Det er " & navn & vbCrLf & vbCrLf
    JMail.Body = JMail.Body + "Besøg caféen på !" & vbCrLf & vbCrLf
    JMail.Body = JMail.Body + "www.cafeedolce.dk." & vbCrLf & vbCrLf & vbCrLf
   
   
        JMail.AddRecipient request("ad")
        ' Send it...
        JMail.Execute
        set JMail = nothing
response.write " Tak.<br><br>Din anbefaling er sendt til " & request("ad")

   

else %>

<form action="anbef.asp" METHOD="POST">
  <table cellpadding="2" cellspacing="2" border="1">
    <tr>
      <td><div align="center"><center><h2>Anbefal Minside</h2>
      </center></div></td>
    </tr>
    <tr>
      <td><input TYPE="TEXT" onFocus="this.form.ad.select()" value="Modtagerens e-mail?"
      NAME="ad" SIZE="17"> </td>
    </tr>
    <tr>
      <td><input TYPE="TEXT" onFocus="this.form.navn.select()" value="Afsenderens navn?"
      NAME="navn" SIZE="17"> </td>
    </tr>
    <tr>
      <td><input type="submit" value="Send"> </td>
    </tr>
  </table>
</form>
<%
end if
%>
</body>
</html>

Er der nogle som kan finde fejlen her. ??
Avatar billede tmceu Praktikant
04. juni 2002 - 13:26 #1
Kan det skyldes at du ikke har inkluderet HTML header informationen ? Altså <HTML> <HEAD> .... </HTML>.
Avatar billede mekaniker Nybegynder
04. juni 2002 - 13:33 #2
>> tmceu
Det hjalp desværre ikke, men ellers et godt forslag.
Avatar billede tmceu Praktikant
04. juni 2002 - 14:11 #3
Så kunne det måske være fordi du både anvender HTMLBody og Body. Disse kan måske ikke anvendes samtidig ? Jeg tænker på, om din .Body under .HTMLBody "overskriver" HTMLBody ?

Jeg fisker lidt, for selv om jeg har anvendt JMail en del, har jeg endnu ikke sendt HTML :-)
Avatar billede mekaniker Nybegynder
04. juni 2002 - 14:18 #4
Jeg har prøvet sætte det sammen fra nogle forskellige scripts.
For jeg fandt en artikkel på netcoders, som beskrev hvordan man sendte HTML, men denne kunne jeg ikke få til at virke.

Artikkel
----------------------------
Send HTML mails med JMail 
- Skrevet af Jesper Lund  d. 14-08-2001 - [Læst 1698 gange]

--------------------------------------------------------------------------------

Man ser efterhånden at flere og flere sites er begyndt at benytte sig af HTML mails, til deres nyhedsbreve eller lign.

Den væsentligste grund til dette er at man vha. HTML mails kan stille sin mail op nøjagtig som en alm. HTML side på nettet.
Man kan gøre dem grafiske og dermed mere indbydende over for sine brugere.

Det skal dog siges at det ikke er alle der har mulighed for at læse en HTML email, og man skal derfor først gøre op med sig selv om man ønsker at skære nogen af sine brugere fra, ved at benytte sig af dette.

Hvis man dog alligevel ønsker at benytte sig af HTML mails, men ikke ønsker at udelukke de bruger som ikke har mulighed for at læse disse, findes der en udvej.

Man kan lave en HTML version og en tekst version af sin mail, hvor tekst versionen kun vil blive vist til dem som ikke har mulighed for at se HTML mails, eller man kan tage en kopi af sin HTML mail og lægge det ud på sit website, og henvise til denne side i tekst versionen af sin mail.

Nå, men hvis du ikke er skræmt væk endnu, så lad os kigge på koden for en sådan HTML mail.


'Vi starter med at oprette vores variabel
dim body

'Derefter begynder vi at bygge vores mail op i en streng
body = "<body bgcolor='#eeeeee'>"

body = body & "<table width='300' bgcolor='#666666'>"
body = body & "<tr><td valign='middle'>"
body = body & "<table width='100%' bgcolor='#FFFFFF' height='50'>"
body = body & "<tr><td valign='top'>"
body = body & "<table border='0' width='90%' align='center'>"
body = body & "<tr><td> </td></tr>"
body = body & "<tr><td>"
body = body & "<font face='tahoma' size='2' color='#000000'>"
body = body & "Dette er en test af en HTML mail ... "
body = body & "</font>"
body = body & "</td></tr>"
body = body & "</table>"
body = body & "</td></tr>"
body = body & "</table>"
body = body & "</td></tr>"
body = body & "</table>"

body = body & "</body>"

'Til sidst sender vi mailen via. vores mail funktion, som kan ses længere nede
Send_html_Mail "Dit navn", "din@email.dk", modtager, "Test af HTML email", body, 3

function Send_html_Mail(from_name, from_email, to_email, subject, body, importance)

on error resume next

  Set jmail = Server.CreateObject("JMail.Message")
  jmail.Clear()
  jmail.AddRecipient to_email, to_email
  jmail.From = from_email
  jmail.FromName = from_name
  '1 = High
  '3 = Normal
  '4 = Low
  jmail.priority = importance
  jmail.Subject = subject
 
  'Til dem der ikke har mulighed for at læse HTML mails, skriver vi lige en lille besked
  jmail.Body = "Du har desværre IKKE mulighed for at læse denne HTML email."
  jmail.HTMLBody = body
  jmail.Send( din_mail_server )
  set JMail = nothing

end function




Bemærk at der i dette eksempel bliver brugt JMail version 4.1 (Mere info her)

Se evt. et eksempel på dette her

God fornøjelse!

---------------------

Hvis du nu har rodet en del med Jmail, tror du så at du kan få dette til at virke.

//Mekaniker
Avatar billede tmceu Praktikant
04. juni 2002 - 14:41 #5
Det vil jeg mene at jeg kan. Faktisk vil jeg tilbyde en "fuld tilfredshed eller pointene tilbage" garanti :-)

Men det bliver dog først en gang i aften, at jeg kan kigge på det. Med mindre konen altså lige føder midt i det hele.
Avatar billede mekaniker Nybegynder
04. juni 2002 - 15:44 #6
Det lyder rigtig godt, Jeg kan love dig du får point.
Jeg glæder mig til at høre fra dig.
Du må hilse konen og sige til hende at hun lige må vente et par dage.

//Mekaniker

P.S. Jeg må hellere sige tillykke, hvis det nu sker i aften.
Avatar billede tmceu Praktikant
04. juni 2002 - 20:46 #7
Jeg prøvede lige dit script på min maskine og det virkede upåklageligt. Så tog jeg den efterhånden klassiske sammenligning af ver 3.7 og 4.3 (som jeg anvender).

Da du bruger:

Set JMail = Server.CreateObject("JMail.SMTPMail")

Kan jeg se, at du bruger ver. 3.7. Syntaksen for ver. 4.3 er:

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

Jeg er ked af at sige, at ver 3.7 ikke understøtter HTMLBody og det er forklaringen på dit problem. Du kan prøve at ændre ovenstående linie til ver 4.3 syntaks. Måske er du så heldig at dit webhotel understøtter begge versioner, men jeg tvivler. Gør de ikke det, må du straks flyve i flæsket på deres supportline og få dem til at opgradere.

P.S. Ingen lillebror endnu, men vi venter stadig...
Avatar billede tmceu Praktikant
04. juni 2002 - 20:49 #8
Hvis du vil se referencen for hhv. ver 3.7 og 4.3, kan du kigge på www.dimac.net

Kig under Products -> Components -> W3 JMail -> Reference 4.3 (og Reference 3.7)
Avatar billede tmceu Praktikant
07. juni 2002 - 10:53 #9
mekaniker >> sidder du stadig i kø til supporten på webhotellet ? :-)
Avatar billede mekaniker Nybegynder
07. juni 2002 - 12:06 #10
Jeg har bedt dem om at opgradere Jamil, men det er desværre ikke sket endnu.
Men jeg har fået det prøvet på en anden server hvor det understøttes..........OG DET VIRKER PERFEKT. :-))))

Kan du måske hjælpe mig med at indsætte et billede i scriptet, sådan at det kommer med i HTML-mailen og det ikke ligger som en attachment.
Avatar billede mekaniker Nybegynder
07. juni 2002 - 12:07 #11
Når ja, og tak for linket til referencerne, det var en god hjælp.
Avatar billede tmceu Praktikant
07. juni 2002 - 17:02 #12
Jo, kig på metoderne AddAttachment og AddURLAttachment i dokumentationen på ovenstående link. Hvis du sætter inline parametren til true skulle den være hjemme.
Avatar billede mekaniker Nybegynder
08. juni 2002 - 20:18 #13
Jeg prøver, hvis det ikke lykkedes vender jeg tilbage, men du hellere få dine fortjente point.
Mange tak for hjælpen.'
//Mekaniker
Avatar billede tmceu Praktikant
08. juni 2002 - 20:41 #14
Det var så lidt :-)
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