Avatar billede jenskf Nybegynder
12. februar 2002 - 14:04 Der er 7 kommentarer og
1 løsning

HTML i AspEmail 4.5 eller ASPMail 3.0

Hej

Min webserver understøtter både "AspEmail 4.5 Premium" og "ASPMail 3.0", og jeg vil gerne anvende en af disse mailkomponenter, til at sende en HTML e-mail via et ASP-script, som jeg håber, at du kan give mig? :-)
Avatar billede rune_c Nybegynder
12. februar 2002 - 14:12 #1
<%
if request.querystring = "1" then
    Response.Buffer = True
    Response.Expires = 0

    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
   
    Mailer.RemoteHost = "din.smtp.dk"
    Mailer.FromName = request.form("name")
    Mailer.FromAddress = request.form("email")
    Mailer.AddRecipient "Webmaster", "din@email.dk"
    Mailer.Subject = request.form("subject")
    Mailer.BodyText = request.form("txt")
    Mailer.CharSet = 1
   
    if not Mailer.SendMail then
    Response.Write "<p>Mailing Failed... Error is: <br>"
    Response.Write Mailer.Response
    else
    Response.Write "Sent<br>"
    end if
   
    Set Mailer = nothing
end if
%>
<html>

<body>
<form action="mail.asp?1" method=post>
Dit navn:&nbsp;<input type=text id=name><br>
Din email:&nbsp;<input type=text id=email><br>
Emne:&nbsp;<input type=text id=subject><br>
Besked:&nbsp;<textarea id=txt></textarea><br>
<br>
<input type=submit value=Send><input type=reset value=slet>
</form>
</body>
Avatar billede jenskf Nybegynder
12. februar 2002 - 15:06 #2
Men kan scriptet også bruges til at sende en HMTL e-mail? Det tror jeg nemlig ikke.

Helt konkret skal jeg lave et script, som kan omforme følgende URL, som bliver alt for lang, hvis ikke man placerer dens værdi i tekst URL (hvilket jeg ikke kan finde ud af) - ved f.eks. at skrive "Klik her!", og så bliver bruger smidt videre til adresse (med den lange URL).

Mailer.BodyText = "Hej "+ Tryk på følgende link: http://www.minhjemmesideadresse.dk/multimedia/udlaan_af_videotitler3.asp?videotitel1="+ Server.URLEncode(Request.QueryString("videotitel1")) + "&videotitel2="+ Server.URLEncode(Request.QueryString("videotitel2")) + "&videotitel3="+ Server.URLEncode(Request.QueryString("videotitel3")) + "&videotitel4="+ Server.URLEncode(Request.QueryString("videotitel4")) + "&fraNavn="+ Server.URLEncode(Request.QueryString("fraNavn")) + "&fraAdresse="+ Server.URLEncode(Request.QueryString("fraAdresse")) + "&postadresse="+ Server.URLEncode(Request.QueryString("postadresse"))
Avatar billede jenskf Nybegynder
12. februar 2002 - 15:07 #3
Hov, der var vist en lille fejl i starten af "Mailer.BodyText", men det ser du bare bort fra.
Avatar billede rune_c Nybegynder
13. februar 2002 - 10:00 #4
<%
if request.querystring = "1" then
    Response.Buffer = True
    Response.Expires = 0

    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
   
    Mailer.RemoteHost = "din.smtp.dk"
    Mailer.FromName = request.form("name")
    Mailer.FromAddress = request.form("email")
    Mailer.AddRecipient "Webmaster", "din@email.dk"
    Mailer.IsHTML = True
    Mailer.Subject = request.form("subject")
    Mailer.BodyText = "<HTML><BODY>Hej<br><br>Tryk på følgende link:<br><br><a href='http://www.dinside.dk/default.asp?videotitle1='" & Request.QueryString('videotitle1') & "&videotitle2=" & Request.QueryString('videotitle2') & "</BODY></HTML>"
    Mailer.CharSet = 1
   
    if not Mailer.SendMail then
    Response.Write "<p>Mailing Failed... Error is: <br>"
    Response.Write Mailer.Response
    else
    Response.Write "Sent<br>"
    end if
   
    Set Mailer = nothing
end if
%>

osv. nu skal du bare gøre dit link færdigt. Jeg tror det virker men har ikke testet det, men regner med at du bare vender stærkt tilbage....
Avatar billede rune_c Nybegynder
13. februar 2002 - 11:01 #5
Denne har jeg gennemtestet og ved at den virker..:

<%
    Response.Buffer = True
    Response.Expires = 0

    Set Mailer = Server.CreateObject("Persits.MailSender")
   
    Mailer.Host = "smtp.xxxxx.dk"
    Mailer.FromName = "Afsenders navn"
    Mailer.From = "Afsenders@email.dk"
    Mailer.AddAddress "Modtagers@mail.dk", "Modtagers navn"
    Mailer.Subject = "Emails emne"
    Mailer.Body = "<HTML><BODY>Hej<br><br>Tryk p&aring; f&oslash;lgende link:<br><br><a href='http://www.mitsite.dk/default.asp?videotitle1=" &

Server.URLEncode(Request.Querystring("videotitle1")) & "&videotitle2=" & Server.URLEncode(Request.Querystring("videotitle2")) & "'>Test</a></BODY></HTML>"
    Mailer.IsHTML = True
    Mailer.CharSet = 1
   
    On Error Resume Next
    Mailer.Send
    If Err <> 0 Then
        Response.Write "An error occurred: " & Err.Description
    Else
        Response.Write "Sent!"
    End If
   
    Set Mailer = nothing
%>
Avatar billede rune_c Nybegynder
13. februar 2002 - 11:04 #6
den sidste udgave er lavet til ASPEmail 4.5
Avatar billede jenskf Nybegynder
13. februar 2002 - 18:53 #7
Jeg får følgende fejlmelding, når jeg kører dit script:

Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Left'
/errors.asp, line 4

Kobler jeg linien "Mailer.AddAddress" fra, kommer den ingen fejlmeldnig (men e-mail kan derved ikke afsendes).

Det, som jeg ikke fatter er, hvorfor begynder scriptet at smide mig hen til min "errors.asp" side - det er som om at det script, som du har givet mig ikke kan køre på min webserver. Kan det skyldes, at "AspEmail 4.5 Premium", som jeg har må min webserver skulle være meget anderledes end "AspEmail 4.5"?
Avatar billede jenskf Nybegynder
13. februar 2002 - 19:53 #8
Det virker nu. Jeg ved ikke, hvad jeg har gjort anderledes, men det virker. Tak for hjælpen.
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