Avatar billede carstengp Nybegynder
23. februar 2003 - 22:46 Der er 27 kommentarer og
1 løsning

Form mail problem i Microsoft Outlook

Jeg har på min hjemmeside lavet denne søde lille kreation: http://www.grineflip.dk/sweet/index.html Mit problem er at visse personer har haft problemer med at "sende siden til en ven" når de bruger Microsoft outlook.

Med Outlook Express er der ingen problemer.

Scriptet ser således ud:

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
var good;
function checkEmailAddress(field) {
// the following expression must be all on one line...
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail) {
good = true;
}
else {
alert('Please enter a valid e-mail address.');
field.focus();
field.select();
good = false;
  }
}
u = window.location;
m = "Fordi du er så sød...";
function mailThisUrl() {
good = false
checkEmailAddress(document.eMailer.address);
if (good) {
// the following expression must be all on one line...
window.location = "mailto:"+document.eMailer.address.value+"?subject="+m+"&body="+document.title+" "+'www.grineflip.dk/sweet/index.html';
  }
}
//  End -->
</script>
Avatar billede alrua Nybegynder
23. februar 2003 - 22:50 #1
har du ikke mulighed for at bruge noget server-side afsendelse, fx et asp- eller phpscript? :)
Avatar billede carstengp Nybegynder
23. februar 2003 - 22:53 #2
Jo sikkert, men jeg har ikke begreb om hvordan... Jeg ville også helst at det kunne sendes via serveren, jeg har et pro-webhotel hos webdomain.dk og det understøtter såvel php, som mysql, asp osv.

men som sagt, aner jeg ikke hvordan det fungerer. Jeg skulle også have lagt en chat ud, men det har jeg også næsten opgivet. Men mere om det en anden gang *S*
Avatar billede carstengp Nybegynder
23. februar 2003 - 22:54 #3
Desuden har jeg forgæves forsøgt at spørge mig til råds hos webdomain.dk men de svarer slet ikke på mine mails, så det er ikke uden videre anbefalelsesværdigt...
Avatar billede carstengp Nybegynder
23. februar 2003 - 22:58 #4
på serveren er supporteret:  ASP: jmail 4,3, ASPping, ASPsmartupload, w3 Sockets, ASP.NET Framework, WAP/WML, Microsoft Access, MySQL, MS Frontpage Ext., CGI/Perl, PHP
Avatar billede alrua Nybegynder
23. februar 2003 - 23:14 #5
så kan jeg da sagtens lave et simpelt PHP-script til dig. Bare lav en form som ser nogenlunde sådan her ud, så skal jeg smide et script lige om 2 sek :)

<form action="mail.php">
<input type="hidden" name="subject" value="Du har fået et link">
<input type="hidden" name="body" value="%NAVN% har sendt dig følgende link: http://www.grineflip.dk/sweet/index.html">
<input type="text" name="navn">
<input type="text" name="email">
</form>


du kan selvfølgelig skrive den som du vil, bare der er de der felter.

Så kan du bare udfylde subject og body som du vil have dem %NAVN% skal være der hvor du vil have afsenderens navn til at stå :)
Avatar billede carstengp Nybegynder
23. februar 2003 - 23:20 #6
Den skal bare fungere på samme måde som den gamle, jeg er altså helt på skideren, når det drejer sig om andet end HTML *S*

Jeg vil gerne give flere point, hvis du kan lave en færdigt "klar til brug" form...
Avatar billede alrua Nybegynder
23. februar 2003 - 23:20 #7
jaja - ok da...kan jeg vel godt :)
Avatar billede alrua Nybegynder
23. februar 2003 - 23:21 #8
men jeg bliver nok nødt til at lave det så afsenderen skal skrive sin email-adresse...ellers ved modtageren jo ikke hvor mailen kommer fra :)
Avatar billede carstengp Nybegynder
23. februar 2003 - 23:23 #9
ja, det kan du jo så have ret i *HEHE* det må gerne være noget simpelt...
afsender: [_____] modtager: [_____].

Men skal der ikke laves noget på serveren, eller sender den bare uhæmmet løs?
Avatar billede carstengp Nybegynder
23. februar 2003 - 23:25 #10
Og hvis det kan laves på én linie, så vil det være perfekt..

Hæver pointene til 200, hvis det funker ;-)
Avatar billede alrua Nybegynder
23. februar 2003 - 23:36 #11
har du en email-adresse og et navn jeg kan skrive som afsender (grineflip / mailbot@grinflip.dk fx)? :)

der skal ikke laves noget om på serveren hvis den understøtter php som du siger :)
Avatar billede alrua Nybegynder
23. februar 2003 - 23:37 #12
eller skal jeg bare skrive det afsenderen skriver på som afsender også`? :)
Avatar billede carstengp Nybegynder
23. februar 2003 - 23:45 #13
webmaster@grineflip vil være okay *S* jeg kigger i morgen, hvad der sker videre ;-)
Avatar billede alrua Nybegynder
23. februar 2003 - 23:47 #14
okay - her er scriptet...

Kopier alt hvad der står under stregen ind i en tom fil i notesblok og gem den med endelsen .php - sørg for at vælge "alle filer" som filtype. Herefter kan du uploade den fil og bruge den i stedet for den top-frame du har nu.

Du kan ændre i html-koden til selve formen nederst - men lad være med at køre den igennem en source-scrampler som ejg kan se du har gjort med resten af siden.

Hvis du vil ændre i teksten på emailen og emnet kan du gøre det øverst.

-------------------------

<?php
/***********************************************************\
            Her kan du ændre i mailens tekst:
              Bare ret i teksten mellem ''
  %NAVN% bliver erstattet med det navn afsenderen indtaster
\***********************************************************/
$tekst =
'Du har modtaget dette link fra %NAVN%:
http://www.grineflip.dk/sweet/index.html';

$emne =
'Sødt link';


@ini_set("display_errors", 0);
if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(empty($_POST['navn']) || empty($_POST['email'])) {
        die("Du skal udfylde både navn og email!");
    }
    $body = str_replace("%NAVN%", $_POST['navn'], $tekst);
    $subject = str_replace("%NAVN%", $_POST['navn'], $emne);
    $from = (preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $_POST['navn'])) ? $_POST['navn'] : $_POST['navn'].'<>';
   
    mail($_POST['email'], $subject, $body, "From: $from");
    die('<html><head><title>Mail sendt</title><meta http-equiv="refresh" content="3;'.$_SERVER['PHP_SELF'].'"></head><body><div align="center">Mailen er afsendt!</div></body></html>');
}
?>
<html>
<head>
    <title>Send en mail</title>
</head>
<body>
<div align="center">
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    Afsender: <input type="text" name="navn">&nbsp;&nbsp;&nbsp;
    Modtager: <input type="text" name="email">
    <input type="submit" value="Send">
</form>
</div>
</body>
</html>
Avatar billede alrua Nybegynder
23. februar 2003 - 23:48 #15
har bare lavet det så det er den afsender der bliver indtastet som står som afsender af mailen :)
Avatar billede carstengp Nybegynder
23. februar 2003 - 23:51 #16
Jeg prøver det lige af i morgen okay?... Jeg er simpelthen for træt nu *S*
Avatar billede alrua Nybegynder
23. februar 2003 - 23:52 #17
oki - sov godt :)
Avatar billede carstengp Nybegynder
24. februar 2003 - 18:46 #18
Okay, det virker, jeg har kun et problem... Hvordan kan jeg skrive (før formen) følgende tekst: "Send dette link til en ven"

Uanset hvor jeg skriver så forsvinder felterne...
Om den laver et tvunget linieskift ved jeg ikke, men de forsvinder
Avatar billede carstengp Nybegynder
24. februar 2003 - 18:56 #19
Læg desuden lige svar her og i http://www.eksperten.dk/spm/321277 alrua... Velfortjente point ;-)
Avatar billede alrua Nybegynder
24. februar 2003 - 18:58 #20
der er et link til "tildel flere point" i det her spørgsmål...
I bunden af det jeg skrev står der noget html-kode...Hvis du skal skrive noget skal du gøre det efter starten på <form>-tagget... :)
Avatar billede alrua Nybegynder
24. februar 2003 - 19:09 #21
og også et svar her... :)
Avatar billede alrua Nybegynder
24. februar 2003 - 19:09 #22
grunden til at den laver mellemrum er at <form>-tagget laver en margen hvis der står andet på siden...du kan ændre det vha. css, eller du kan bare skrive inden i <form>-tagget :)
Avatar billede carstengp Nybegynder
24. februar 2003 - 19:13 #23
Ja, jeg har fundet ud af det, tak! - En sidste ting... Kan man lave det så folk SKAL skrive en email i afsenderfeltet? Som det er nu, kan man spamme ved at skrive et hvilketsomhelst navn som afsender?
Avatar billede alrua Nybegynder
24. februar 2003 - 19:14 #24
ja, kan jeg da godt...lige 2 sek :)
Avatar billede alrua Nybegynder
24. februar 2003 - 19:15 #25
ret det her:

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(empty($_POST['navn']) || empty($_POST['email'])) {
        die("Du skal udfylde både navn og email!");
    }
    $body = str_replace("%NAVN%", $_POST['navn'], $tekst);
    $subject = str_replace("%NAVN%", $_POST['navn'], $emne);
    $from = (preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $_POST['navn'])) ? $_POST['navn'] : $_POST['navn'].'<>';
   
    mail($_POST['email'], $subject, $body, "From: $from");
    die('<html><head><title>Mail sendt</title><meta http-equiv="refresh" content="3;'.$_SERVER['PHP_SELF'].'"></head><body><div align="center">Mailen er afsendt!</div></body></html>');
}



til det her:

if($_SERVER['REQUEST_METHOD'] == "POST") {
    if(!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $_POST['navn']) || !preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $_POST['email'])) {
        die("Du skal skrive en email-adresse i begge felter!");
    }
    $body = str_replace("%NAVN%", $_POST['navn'], $tekst);
    $subject = str_replace("%NAVN%", $_POST['navn'], $emne);
    $from = $_POST['navn'];
   
    mail($_POST['email'], $subject, $body, "From: $from");
    die('<html><head><title>Mail sendt</title><meta http-equiv="refresh" content="3;'.$_SERVER['PHP_SELF'].'"></head><body><div align="center">Mailen er afsendt!</div></body></html>');
}
Avatar billede alrua Nybegynder
24. februar 2003 - 19:23 #26
takker for point :)
Avatar billede carstengp Nybegynder
24. februar 2003 - 20:10 #27
Tak for hjælpen!
Avatar billede alrua Nybegynder
24. februar 2003 - 20:39 #28
selv tak da :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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