boholdt Juniormester
29. december 2020 - 17:31 Der er 3 kommentarer og
1 løsning

Udfordringer med at sende igennem jMail (gammel kode skal tilpasses)

Hej

Jeg har fundet noget gammelt kode frem fra gemmerne der er cirka 15 år.

Jeg vil gerne tilrette denne kode, så jeg kan sende igennem jMail på mit webhotel med det, som det kræver i dag.

Jeg kan imidlertid ikke gennemskue hvordan, at jeg får angivet portnummer til udgående SMTP-server, samt brugernavn og adgangskode til e-mailadressen der sendes fra.

Min kode ser således ud:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
'Felterne i formen modtages og gemmes i variabler
navn = Request.Form("navn")
email = Request.Form("email")
emne = Request.Form("emne")
besked = Request.Form("skriv din besked/kommentar her")

'Der tjekkes om e-mail adressen er korrekt
IF (instr(email,"@") = false) OR (instr(email,".") = false) THEN
%>
    <SCRIPT LANGUAGE=JavaScript>
    alert("Feltet e-mail adresse er ikke udfyldt, skriv en e-mail adresse!")
    history.back();
    </SCRIPT>
<%
ELSE
'Hvis den er korrekt udføres følgende
'Jmail komponentet der findes på serveren startes nu
Set objMail = Server.CreateObject("JMail.Message")
objMail.Silent = True
'Her sættes afsender til den værdi der var indtastet i e-mail form feltet
objMail.FromName = "Navn" ' Afsendernavn kan være alt
objMail.From = "mail@mitdomaene.dk" ' En gyldig afsender e-mail adresse
'Her skal du indtaste den e-mail adresse der skal modtage mailsne
objMail.AddRecipient "modtager@mitdomaene.dk", "Modtagerens Navn"
'Her sættes emne til den værdi der var indtastet i emne form feltet
objMail.Subject ="Emne"

'Her sættes besked til den værdi der var indtastet i besked form feltet
objMail.Body = besked

'Her sendes mailen gennem udgående smtp-server
objMail.Send("websmtp.simply.com")

%>
    <SCRIPT LANGUAGE=JavaScript>
    alert("Mailen er nu sendt til webmasteren!")
    </SCRIPT>
<%
END IF
%>
Jeg vil blive glad for hvis nogen har en løsning :-).

På forhånd tak for hjælpen, og god dag.

Mvh Anders.
arne_v Ekspert
29. december 2020 - 19:35 #1
15 eller 20 år siden.

Lidt googling antyder:

objMail.MailServerUserName = "username"
objMail.MailServerPassword = "password"
objMail.ServerAddress = "server:port"
boholdt Juniormester
30. december 2020 - 11:14 #2
Hej igen, og tak for svaret.

Jeg har nu rettet koden til, men der kommer ingen e-mails igennem fra jMail. Mit gæt er, at der mangler en fra-adresse ét eller andet sted.

Min nye kode ser således ud:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
'Felterne i formen modtages og gemmes i variabler
navn = Request.Form("navn")
email = Request.Form("email")
emne = Request.Form("emne")
besked = Request.Form("skriv din besked/kommentar her")

'Der tjekkes om e-mail adressen er korrekt
IF (instr(email,"@") = false) OR (instr(email,".") = false) THEN
%>
    <SCRIPT LANGUAGE=JavaScript>
    alert("Feltet e-mail adresse er ikke udfyldt, skriv en e-mail adresse!")
    history.back();
    </SCRIPT>
<%
ELSE
'Hvis den er korrekt udføres følgende
'Jmail komponentet der findes på serveren startes nu
Set objMail = Server.CreateObject("JMail.Message")
objMail.Silent = True
'Her sættes afsender til den værdi der var indtastet i e-mail form feltet
objMail.From = email ' En gyldig afsender e-mail adresse
'Her sættes navn til den værdi der var indtastet i navn form feltet
ObjMail.FromName = navn
'Her skal du indtaste den e-mail adresse der skal modtage mailsne
objMail.AddRecipient "test@mitdomaene.dk", "Modtagerens Navn"
'Her sættes emne til den værdi der var indtastet i emne form feltet
ObjMail.Subject = emne

'Her sættes besked til den værdi der var indtastet i besked form feltet
objMail.Body = besked

'Her sendes mailen gennem websmtp.simply.com
objMail.Send("websmtp.simply.com:587")
objMail.MailServerUserName = "minmail@mitdomaene.dk"
objMail.MailServerPassword = "xxx"
Set objMail = Nothing
%>
    <SCRIPT LANGUAGE=JavaScript>
    alert("Mailen er nu sendt til webmasteren!")
    location.href("side.asp?id=19")
    </SCRIPT>
<%
END IF
%>
---
Nogle som kan gennemskue hvad der går galt her?

Jeg har som sagt Googlet mig rundt på Internettet, men det er for mig temmelig udfordrende at finde oplysninger om brug af jMail.

Ja, koden er temmelig gammel - dette skyldes, at jeg i mange år ikke har arbejdet med ASP, men PHP. Nu er jeg så begyndt at kigge lidt på ASP igen.

Mvh Anders.
arne_v Ekspert
30. december 2020 - 15:51 #3
Du udfoerer:

objMail.From = email ' En gyldig afsender e-mail adresse
ObjMail.FromName = navn
objMail.AddRecipient "test@mitdomaene.dk", "Modtagerens Navn"
ObjMail.Subject = emne

?
boholdt Juniormester
30. december 2020 - 18:15 #4
Hej igen

Nu har jeg fået jMail til at fungere, så der logges ind rigtigt, plus at der samtidig vises en fejlbesked, hvis jMail ikke kan sende e-mails.

Koden er følgende i filen sendmail.asp:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
'Felterne i formen modtages og gemmes i variabler
navn = Request.Form("navn")
email = Request.Form("email")
emne = Request.Form("emne")
besked = Request.Form("skriv din besked/kommentar her")

'Der tjekkes om e-mail adressen er korrekt
IF (instr(email,"@") = false) OR (instr(email,".") = false) THEN
%>
    <SCRIPT LANGUAGE=JavaScript>
    alert("Feltet e-mail adresse er ikke udfyldt, skriv en e-mail adresse!")
    history.back();
    </SCRIPT>
<%
ELSE
'Hvis den er korrekt udføres følgende
'Jmail komponentet der findes på serveren startes nu
Set JMail = Server.CreateObject("JMail.Message")
JMail.Logging = true
JMail.Silent = True
JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
JMail.ISOEncodeHeaders = False
JMail.ContentTransferEncoding = "8bit"
'Her sættes afsender til den værdi der var indtastet i e-mail form feltet
JMail.From = email
'Her sættes navn til den værdi der var indtastet i navn form feltet
JMail.FromName = navn
'Her skal du indtaste den e-mail adresse der skal modtage mailsne
JMail.AddRecipient "anders@boholdt-petersen.dk"
'Her sættes emne til den værdi der var indtastet i emne form feltet
JMail.Subject = emne

'Her sættes besked til den værdi der var indtastet i besked form feltet
JMail.Body = besked

'Her sendes mailen gennem websmtp.simply.com
JMail.MailServerUserName = "user_name_to_e-mail_account"
JMail.MailServerPassWord  = "password_to_your_e-mail_account"
If jMail.Send("websmtp.simply.com:587") Then
  Response.Write "Afsendt."
Else
  Response.Write "Der opstod en fejl: " & objMail.Log
End If
jMail.close
Set jMail = Nothing
%>
    <SCRIPT LANGUAGE=JavaScript>
    alert("Mailen er nu sendt til webmasteren!")
    </SCRIPT>
<%
END IF
%>
---

Takker for løsningsforslagene. Rigtig god dag.

Mvh Anders.
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

Opret Preview

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





Premium
Bankdata efter hård kritik af it-sikkerheden fra Finanstilsynet: Vi kan godt genkende kritikken
Interview: Bankdata kan godt nikke genkendende til den række af kritik-punkter, som Finanstilsynet retter mod selskabets it-sikkerhed. Men der er en god forklaring, mener compliance-direktør Lene Weldum.
Computerworld
Spotify på vej med kæmpe satsning: Vil være mere end blot en musikstreamingtjeneste
Svenske Spotify er klar med en række nyheder, der rækker længere end blot lyd.
CIO
Der findes ikke noget vigtigere for din virksomhedskultur end psychological safety
Klumme: Forskningen er entydig: Vidensarbejde er mere effektiv, når du tør stille spørgsmål, rejse kritik og indrømme fejl helt uden frygt for at blive straffet eller gjort til grin. Hvis du ikke har fokus på denne del af din virksomhedskultur, så lever din virksomhed og dine medarbejdere ikke op til deres fulde potentiale.
Job & Karriere
IBM Danmark trækker tilbud om frivillige fratrædelser tilbage for stort antal ansatte: "IBM har taget røven på sine ansatte"
Som led i IBM Danmarks store fyringsrunde fik 130 ansatte grønt lys til at forlade selskabet på en frivillig fratrædelsesordning. Men nu har IBM Danmark trukket det oprindelige tilbud tilbage for størstedelen af de ansatte.
White paper
IDC Nordic Cloud Survey 2020
IDC Nordic Cloud survey blev gennemført i efteråret 2020 med over 200 deltagende virksomheder. Det viser at multicloud er fremtidens løsning for digital infrastruktur blandt nordiske virksomheder. Det skyldes blandt andet en stigende interesse for private cloud løsninger til edge computing og innovation. Samtidig er det tydeligt at hvor de fleste virksomheder før enten brugte public cloud eller private cloud er fremtidens løsning multicloud.