Avatar billede brokkehoved Nybegynder
08. juni 2003 - 11:26 Der er 35 kommentarer og
2 løsninger

Videreudvikling af JMail-script.

Hejsa.

Jeg har et JMail-script med en formular som virker fuldstændigt og uden problemer. Men der er en ting, jeg godt kunne tænke mig at få lavet/udviddet:

Scriptet skal også sende en kopi af den afsendte mail tilbage til afsenderen.
Den skal altså kunne aflæse det email-felt brugeren selv har indtastet, og tilbagesende mailen dertil, med en kopi af alle de indtastede data for alle felter. Hvem kan fixe den??

Hejsa igen: Flis Jessup
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 11:28 #1
Her er scriptet:




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>test</title>

<style type="text/css">
.input {
    font-family: vedana, tahoma, arial;
    font-size: 11px;
    font-style: normal;
    color: #000000; }
</style>

<script>
function stopErrors() {
return true;
}
window.onerror = stopErrors;
</script>

<%
mode=request("mode")
 
if mode="send" then
    Name = ""& Request.Form("Name") &"Test nr. 08"  'Her skriver jeg hvad der skal at stå i "EMNE"-feltet i E-mailen.
    Email = Request.Form("Email")
    Message = "OVERSKRIFT:<br><br>Navn: "& Request.Form("Navn") &"<br>E-mail: "& Request.Form("Email") &"<br>Emne: "& Request.Form("Emne") &"<br>Besked: "& Request.Form("Besked")
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    JMail.ContentType = "text/html"
    JMail.ServerAddress = "smtp.webhotel.dk"  'Her skriver jeg adressen/navnet til Webhotel-udbyderens E-mail-server (fx. "smtp.udbyder.dk").
    JMail.Priority = 3
    JMail.Sender = "Besked fra mit website"  'Her skriver jeg den text der skal stå i "FRA"-feltet i E-mailen.
    JMail.Subject = Name
    JMail.Body = Message
    JMail.AddRecipient "navn@website.dk"    'Her skriver jeg min egen E-mail adresse.
    JMail.Execute
    Set JMail = nothing
   
    strSend = "<center>Beskeden er nu afsendt.<br>Vi vender tilbage hurtigst muligt.</center>"
End If
%>

</head>

<body bgcolor="#CCCCCC" bottommargin="0" topmargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0">
<script type='text/javascript'>function Go(){return}</script>

  <br><br><br>
  <center>
  <strong><font size="3" face="Verdana, Arial, Helvetica, sans-serif">KONTAKT OS</font></strong>
  <br><br>

<form name="MailForm" action="mail.asp?mode=send" method=post>
<center>
<table border="0" cellpadding="0" cellspacing="0" width="350">
<tr>
  <td width="80">Navn:</td>
  <td><input name=Navn style="width: 278px; height: 22px"></td>
  </tr>
  <tr>
    <td>E-mail:</td>
    <td><input name=Email style="width: 278px; height: 22px" class="aaa"></td>
  </tr> 
  <tr>
    <td>Emne:</td>
  <td><input name=Emne style="width: 278px; height: 22px" class="aaa"></td>
</tr>
  <tr>
    <td valign="top">Besked:</td>
    <td><textarea name=Besked rows=5 cols=43></textarea></td>
  </tr>
  <tr>
    <td height="10"></td>
    <td></td>
  </tr>
  <tr>
    <td colspan="2"><center><input type="submit" value="&nbsp;&nbsp;&nbsp;&nbsp; Send &nbsp;&nbsp;&nbsp;&nbsp;" class="Knapper"></center>
    </td>
  </tr>
</table>
</center>
</form>
<font size="2" color="#ffffff" face="Verdana, Tahoma"><%=strSend%></font>
</center>
    </body>
</html>
Avatar billede para7 Nybegynder
08. juni 2003 - 11:36 #2
Drejer det sig ikke blot om, at afsenderen af formen skal have tilsendt det samme som modtageren?
Avatar billede jnissen Nybegynder
08. juni 2003 - 11:41 #3
Det kan bare gøres med en cc sådan:

Jmail.AddRecipientCC "afsneder@email.dk"
Avatar billede jnissen Nybegynder
08. juni 2003 - 11:41 #4
Du skal jo så bare lige ændre adressen så den bliver taget fra formularen.
Avatar billede jnissen Nybegynder
08. juni 2003 - 11:42 #5
Det må være noget med:
Jmail.AddRecipientCC = Email
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 11:54 #6
Jeg ved ikke om det er "tæt på. Men det virker ihvertfald ikke.  :-(
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 11:57 #7
Der skrives:

Microsoft VBScript runtime error '800a01b6'

Object doesn't support this property or method: 'AddRecipientCC'

/mail.asp, line 38
Avatar billede para7 Nybegynder
08. juni 2003 - 11:59 #8
Har du prøvet at indsætte:

JMail.AddRecipient "navn@website.dk"  'Her skriver jeg min egen E-mail adresse.
JMail.AddRecipient Email
JMail.Execute
Avatar billede jnissen Nybegynder
08. juni 2003 - 12:02 #9
prøv:

Jmail.AddRecipientCC request.form("email")
Avatar billede para7 Nybegynder
08. juni 2003 - 12:02 #10
Sådan virker det for mig ihvertfald.
Avatar billede jnissen Nybegynder
08. juni 2003 - 12:05 #11
Det kan også være det skal være sådan:

Jmail.AddRecipientCC "" & Request("email") & ""
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:11 #12
Den kommer tættere og tættere på, og nu er der ingen fejlmeddelser. :-)

MEN: Inde i Outlook skrives der:
Til: Min rigtige email-adresse. (Helt OK dertil).
CC: Også en gyldig E-mail adresse, men der kommer ikke nogen mails ind! :-(

Hvad pokker kan der mon være galt?

Måske skal det slet ikke være en "CC"-adresse?
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:13 #13
Der aflæses ganske rigtigt email-adressen som brugeren indtaster, men der kommer ingen mails tilbage til brugeren.  :-((
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:13 #14
Er der nogle af jer som også sidder og tester?
Avatar billede para7 Nybegynder
08. juni 2003 - 12:14 #15
Har du prøvet:

JMail.AddRecipient "navn@website.dk"  'Her skriver jeg min egen E-mail adresse.
JMail.AddRecipient Email
JMail.Execute
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:14 #16
http://www.dimac.net/ burde have alle svarene, jeg chekker lige derinde.
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:26 #17
--> para7:
Når jeg skriver til begge mine E-mail adresser (den ene leger jeg at jeg bruger som modtager, og den anden leger jeg er afsenderens email), så virker det! :-)
MEN: Når jeg stadig bruger min egen email som modtager, virker alting fint. Men når jeg så leger at afsenderen er en extra mail-adresse jeg har ude på Ofir.dk, så får modtageren stadig inden kopi af mailen.
Underligt...

Så et eller andet er der stadig galt...  *suk*  :-(
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:29 #18
OmskrivninG.

Når jeg skriver til begge mine E-mail adresser jeg har igennem min Outlook (den ene leger jeg at jeg bruger som modtager, og den anden leger jeg er afsenderens email), så virker det! :-)
MEN: Når jeg stadig bruger min egen email som modtager (igennem Outlook), virker alting fint. Når jeg så leger at afsenderen er en extra mail-adresse jeg har ude på Ofir.dk, så får modtageren slet ingen kopi af mailen, som jeg er meningen.

Underligt...
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:35 #19
Jammen... det må da være noget med, at selve mailen skal sendes ganske normalt. Og bagefter skal mailen sende én gang til, bare til afsenderen, ikke?

Er jeg helt på vildspor???
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 12:39 #20
Er der nogle som er friske på at prøve at skrive til mig? Så kan I selv se om det virker, det med at få en kopi af den mail I selv sender, ikke?
Adressen er: www.brokkehoved.dk/mail.asp
Avatar billede para7 Nybegynder
08. juni 2003 - 13:34 #21
Nej jeg får ingen email når jeg er bruger. Men du har også en fejl:
jMail.sender skal være afsenders email
Prøv evt. denne test først:

set jmail = server.createobject("JMAIL.SMTPMail")
jMail.sendername = "Besked fra mit website"
jMail.sender = "mig@website.dk"
jMail.Subject = "test af jmail - slet bare"
jMail.ServerAddress = "smtp.webhotel.dk"
jMail.AddRecipient "mig@website.dk"
jMail.AddRecipient "kunde@website.dk"
jMail.Body = " Testmailen er sendt."
jMail.Priority = 3
jMail.execute
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 13:44 #22
--> Para7:
Nej,  "JMail.Sender" er den text der kommer til at stå i "FRA"-feltet i E-mailen.
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 13:48 #23
--> Para7:
Chekke lige...
Avatar billede para7 Nybegynder
08. juni 2003 - 13:54 #24
jMail.sender er afsenderemail
Og dette:
jMail.sendername = "Besked fra mit website"
Skal faktisk mere korrekt være
jMail.sendername = "Mit Website"
Altså navnet der kommer til at stå i "FRA"-feltet i E-mailen.
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 14:00 #25
--> Para7:
Ja, du har nok ret.
*puha* jeg er sgu kørt træt i lortet... :-|
Kigger på det hele lidt senere.
Avatar billede para7 Nybegynder
08. juni 2003 - 14:08 #26
Så snart man har fundet melodien, så kør lorte bare og man kan genbruge koderne. Så er jMail ikke et problem mere. (Der er jo ellers nok i vente ;-) )
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 18:56 #27
Hejsa allesammen!
Nu virker lortet sgu!!!!!!  *puha* Sikke en omgang, det gør jeg aldrig mere! Jeg har (næsten) ikke lavet andet end at modificere, uploade, teste og chekke ca. 4-6 timer i dag!!! Nu er det er IKKE sjovt mere... :-)
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 19:06 #28
Hvis I har lyst til at chekke, er I meget velkomne.
Adressen er: http://www.brokkehoved.dk/01.asp

Dog laver den en sidste ting som godt kunne tilrettes, før den er helt perfekt:
Når den sender til mig, er den "formateret" til at sende i  .HTML-format. Det er også helt fint, da jeg derved kan definere <br> osv.
MEN: Når den sender til min anden E-mail adresse, som IKKE kan aflæse i .HTML-format, ser beskeden sådan ud:
Besked:<br><br>Navn: Her skriver jeg afsenderens navn. 2<br>E-mail: navn@ofir.dk <br>Emne: En tilfaeldigt emnetekst. <br>Besked: En tilfaeldig besked, bare for at se om lortet virker.

Kan man mon ikke modificere scriptet således, at linieskiftene <br> stadig virker i et .HTML Email-program, og at <br> IKKE vises i et ikke .HTML Email-program, men at der stadig er et linieskift?
Forstår I hvad jeg mener?

Her er de relevante kildekoder:
*****************************************************
Message = "Besked:<br><br>Navn: "& Request.Form("Navn") &"<br>E-mail: "& Request.Form("Email") &"<br>Emne: "& Request.Form("Emne") &"<br>Besked: "& Request.Form("Besked")
*****************************************************

Og selvfølgelig poster jeg det fulde script, når jeg er færdig  :-)

PS: Hvis der er mulighed for det, er jeg frisk på at give jer 60 point hver, fordi I har hjulpet mig så meget.
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 20:54 #29
I har nu fået 60 point hver, som tak for hjælpen.  :-)))
Avatar billede para7 Nybegynder
08. juni 2003 - 21:48 #30
Prøv lige at udskifte <br> med vbNewLine. Sålænge der ikke er links og andet skulle det være OK for begge typer modtagere.
Ellers skulle der da også være muligheder for at lave noget scripting på siden. Måske der så er en haj, der er lidt bedre end mig til det.
Avatar billede para7 Nybegynder
08. juni 2003 - 21:56 #31
Hov: udskifte <br> med " & vbNewLine & " !
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 22:16 #32
Her er resultatet af testene:

Test 1:
Besked: vbNewLine Navn: vv E-mail: mail@ofir.dk<br>Emne: vvvvvv<br>Besked: vvvvvv

Test 2:
Besked: 'vbNewLine' Navn: ccc 'vbNewLine' E-mail: mail@ofir.dk<br>Emne: ccc<br>Besked: ccc

Test 3:
Fejlmeddelse:
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/mail.asp, line 29
Message = "Besked: "vbNewLine" Navn: "& Request.Form("Navn") &" E-mail: "& Request.Form("Email") &"<br>Emne: "& Request.Form("Emne") &"<br>Besked: "& Request.Form("Besked")

Test 4:
Besked: "vbNewLine" Navn: a E-mail: mail@ofir.dk<br>Emne: aa<br>Besked: aaa

Resultat:
Nej, den bliver ved med at skrive vbNewLine og tegnene ^og ' i den e-mail konto som ikke kan vise mails i  .HTML-format.  :-(

Der skal en  .ASP-haj på banen, tror jeg. Måske jeg burde stille et enkelt spørgsmål i  .ASP-kategorien vedr. problemet?
Avatar billede para7 Nybegynder
08. juni 2003 - 22:23 #33
Message = "Besked" & vbNewLine & vbNewLine & "Navn: "& Request.Form("Navn") & vbNewLine & "E-mail: "& Request.Form("Email") & vbNewLine & "Emne: "& Request.Form("Emne") & vbNewLine & "Besked: "& Request.Form("Besked")
Avatar billede para7 Nybegynder
08. juni 2003 - 22:24 #34
Der gives ikke garanti ;-)
Avatar billede para7 Nybegynder
08. juni 2003 - 22:36 #35
vbNewLine er en string constant. vbNewLine (Platform-specific newline character; whatever is appropriate for the platform.)
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 22:42 #36
Ok, tester lige... ;-)
Avatar billede brokkehoved Nybegynder
08. juni 2003 - 22:51 #37
Næ, nu røg linieskiftene i min html-postkasse, og min ikke-HTML postkasse vil slet ikke acceptere den mail.  :-((
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