Hmm ... jeg kan se at det er et to måneder gammelt spørgsmål, så jeg håber da du i mellemtiden har fundet en løsning, ellers prøver jeg her :+)
Jeg er ikke helt så stærk i JS udgaven af ASP, men lad os kigge lidt på det alligevel ... du har denne stump kode i slutningen af mail-delen :
objMailer.Body = strMessage;
if(objMailer.Execute()){
msg = "<br>Mail sendt til: host@host.dk<br><br>";
}
else{
msg = "<br><br> host@host.dk - Der opstod en fejl: "+objMailer.ErrorCode+" "+objMailer.ErrorMessage+"<br><br>"+objMailer.Log+"<br>";
}
objMailer.ClearRecipients();
strMessage = "";
objMailer = null;
Når du vil sende HTML mails med JMail, skal du i stedet for :
objMailer.Body = strMessage;
Bruge :
objMailer.HTMLBody = strMessage;
Derefter kommer vi så til .Execute kommandoen til objektet. Den benyttes af nogle, andre benytter .Send kommandoen. Jeg vælger som regel altid at benytte mig af .Send - den virker mere stabil - benyttes således (fjerner behovet for: objMailer.ServerAddress = "mail.weide.dk";) :
if (objMailer.Send("mail.weide.dk")) {
msg = "<br>Mail sendt til: host@host.dk<br><br>";
}
else {
msg = "<br><br> host@host.dk - Der opstod en fejl: " + objMailer.ErrorCode + " " + objMailer.ErrorMessage + "<br><br>" + objMailer.Log + "<br>";
}
Som du kan se har jeg desuden tilføjet et par ekstra mellemrum hist og pist. Både JS og VBScript udgaven af ASP, er begge meget glade for at man spreder nogle mellemrum ud over koden. I visse tilfælde, vil begge sprog "forstå" din kode forkert (fejl-fortolke den) og tro at du vil noget andet, end det du rent faktisk ville - på grund af at der lige mangler et mellemrum.
Den færdige tilrettelse af din kode bliver så noget i retning af :
<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<%
objMailer = Server.CreateObject("JMail.SMTPMail");
objMailer.Silent = true;
objMailer.Logging = true;
objMailer.ContentType = "text/html";
objMailer.ServerAddress = "mail.weide.dk"; // Bør ikke længere være nødvendig
objMailer.Sender = "postmaster@weide.dk"; //afsender adresse
objMailer.SenderName = "Weide.dk bruger"; //afsender navn
objMailer.Subject = "E-mail fra weide.dk"; //Emne
objMailer.AddRecipient("post@weide.dk"); //modtager adresse
strMessage = ""; // Start med ingenting og så fyld på :
strMessage = strMessage + "Navn: " + Request.Form("Navn");
strMessage = strMessage + "<br>Postby: " + Request.Form("Postby");
strMessage = strMessage + "<br>Adresse: " + Request.Form("Adresse");
strMessage = strMessage + "<br>Telefon: " + Request.Form("Telefon");
strMessage = strMessage + "<br>Email: " + Request.Form("Email");
strMessage = strMessage + "<br>Kommentar: " + Request.Form("Kommentar");
// Tilrettelse :
objMailer.HTMLBody = strMessage;
// Mere tilrettelse :
if (objMailer.Send("mail.weide.dk")) {
msg = "<br>Mail sendt til: host@host.dk<br><br>";
}
else{
msg = "<br><br> host@host.dk - Der opstod en fejl: " + objMailer.ErrorCode + " " + objMailer.ErrorMessage + "<br><br>" + objMailer.Log + "<br>";
}
objMailer.ClearRecipients();
strMessage = "";
objMailer = null;
%>
<html>
<head>
<style type="text/css">
body {
background-color: #FFFFFF; background-image: url("bg_img.gif"); background-repeat: no-repeat;
background-attachment: fixed;
}
</STYLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%= msg %>
</body>
</html>
-------------------------
kandu.dk's forretnings- og deltage-betingelser gør at jeg ikke vil publicere et direkte link til mit eget materiale omkring netop JMail, men hvis du slår et smut forbi på
www.futte.dk kan du finde mine kode eksempler, der også forklarer lidt i detaljer hvordan og hvorledes :+)
Prøv om ikke det har hjulpet lidt på sagen.
Venligst
Futte