/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Mail med ASP på cliche
Fra : dvnielsen
Vist : 431 gange
200 point
Dato : 13-11-03 21:28

Når jeg sender med dette script kommer kun ét felt med i mailen. "Navn"... what gives ???

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="1252"%>
<%
objMailer = Server.CreateObject("JMail.SMTPMail");
objMailer.Silent = true;
objMailer.Logging = true;
objMailer.ContentType = "text/html";
objMailer.ServerAddress = "mail.weide.dk";
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 = "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");
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;
%>
<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>

 
 
Kommentar
Fra : h_blunck


Dato : 13-11-03 22:57

Hej "dvnielsen"

Nu skal jeg straks indrømme at mit kendskab til ASP er begrænset, men vi drager lige en parallel fra PHP. Når du skal foretage ny erklæring på SAMME variabel i PHP skal der to liniemellemrum i koden for at give serveren tid til den nye erklæring. Kan det være det?

Omvendt er der reference til "JMail.SMTPMail" -- kan der være noget indstilling i dette objekt der forårsager fejlen?

Jeg ved dette er et vildskud, men nu har jeg måske givet dig lidt at lede videre med...

--
Med venlig hilsen

Henrik, Slagelse
www.kortlink.com/phpmesteren

Kommentar
Fra : dvnielsen


Dato : 13-11-03 23:00

Hej Henrik.

Takker, men det er vist desværre ikke noget i den retning. ASP mail komponenten ligger som komponent på hos min udbyder og ikke noget jeg kan komme i nærheden af... alle konf. er sket i ovenstående script.
Men ellers mange tak

Kommentar
Fra : ASPFutte


Dato : 17-01-04 20:55

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

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407944
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste