Avatar billede matz Nybegynder
08. marts 2007 - 08:47 Der er 21 kommentarer og
1 løsning

Sende mail via hjemmeside

Hvordan ser koden ud til at sende en mail via ens hjemmeside ?

Kom gerne med et eksempel så jeg kan bygge videre på det.
Avatar billede kalp Novice
08. marts 2007 - 08:49 #1
<?php
$to = "lala@test.dk";
$subject = "Hejsa!";
$body = "Hejsa,\n\njeg tester";
if (mail($to, $subject, $body)) {
  echo("<p>sendt!</p>");
} else {
  echo("<p>fejl!..</p>");
}
?>
Avatar billede matz Nybegynder
08. marts 2007 - 08:54 #2
hvordan får du den så til at sende?? Skal der noget <form> ind ?
Avatar billede kalp Novice
08. marts 2007 - 09:06 #3
matz >> kigger du altid på kode uden at prøve det?:)
for det der skulle gerne sende!
Avatar billede kalp Novice
08. marts 2007 - 09:07 #4
google php mail() functionen.
den jeg bruger - indbygget i php.
Avatar billede matz Nybegynder
08. marts 2007 - 09:15 #5
Jeg mente bare at ville være logisk at der er en form for "Send" knap før den afsender noget? :)

men afprøver da lige
Avatar billede boxer Praktikant
08. marts 2007 - 09:17 #6
Hej Matz

Hjemmesideskolen har nogle gode eksempler:
http://www.hjemmesideskolen.dk/scripts/mailform.asp

MvH
Boxer
Avatar billede matz Nybegynder
08. marts 2007 - 09:23 #7
boxer >>

Lige det jeg mente med en <form> først inden den gennemgår "sendermail.php"
Avatar billede kalp Novice
08. marts 2007 - 09:35 #8
matz >> tjah functionen er jo ikke en form. Det kommer helt an på hvad du skal bruge den til og hvordan.

Når du snakker form er det vel fordi du vil hente data fra den som skal indgå i den mail du vil opbygge.
Avatar billede matz Nybegynder
08. marts 2007 - 09:41 #9
qawi >> ja og samtidig eksisterende data, men jeg tester lige jeres svar.
Avatar billede matz Nybegynder
08. marts 2007 - 09:47 #10
Den vil ikke rigtig sende til min e-mail med den her kode, kan i hjælpe:

<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) &&    // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['subject']) &&  // tjek, at der er skrevet et subject
!empty($_POST['message']) &&  // tjek, at der er skrevet en besked

// her følger sikringen mod spambotter
!strpos($_POST['name'], "dit_domain.dk") &&  // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\r",$_POST['name']) &&  // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['name']) &&  // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email']))  // tjek, at der ikke er "linjeskift" i "email"

// er alt ok, fortsættes med afsendelse af mailen
{
  $headers="From: ".$_POST['name']."<".$_POST['email'].">";
  if (@mail("mats1122@yahoo.dk", strip_tags($_POST['subject']),
  stripslashes(strip_tags($_POST['message']), ($_SESSION['kurv'])), $headers))
  {
  echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
  }
  else
  {
  echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
  }
}
else
{
  echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
?>
Avatar billede kalp Novice
08. marts 2007 - 09:55 #11
tjek om dine paranteser er sat korrekt. start og slut.

og ellers må du echo et par steder og se hvor den når til.
Avatar billede kalp Novice
08. marts 2007 - 09:56 #12
har prøvet at flytte på dine paranteser.. måske..


<?php
if (isset($_POST['submit']))
{
    if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
    !empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
    !empty($_POST['subject']) && // tjek, at der er skrevet et subject
    !empty($_POST['message']) && // tjek, at der er skrevet en besked

    // her følger sikringen mod spambotter
    !strpos($_POST['name'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
    !strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
    !strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
    !eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
    !eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
    !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
    !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"

    // er alt ok, fortsættes med afsendelse af mailen
    {
        $headers="From: ".$_POST['name']."<".$_POST['email'].">";
        if (@mail("mats1122@yahoo.dk", strip_tags($_POST['subject']),
        stripslashes(strip_tags($_POST['message']), ($_SESSION['kurv'])), $headers))
            {
            echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
            }
        else
            {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
            }
        else
        {
        echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
        }
    }
}
?>
Avatar billede kalp Novice
08. marts 2007 - 09:57 #13
sorry.. kan se det skal være sådan her.


<?php
if (isset($_POST['submit']))
{
    if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
    !empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
    !empty($_POST['subject']) && // tjek, at der er skrevet et subject
    !empty($_POST['message']) && // tjek, at der er skrevet en besked

    // her følger sikringen mod spambotter
    !strpos($_POST['name'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
    !strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit domæne ikke er skrevet i feltet "email"
    !strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
    !eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
    !eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
    !eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
    !eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"

    // er alt ok, fortsættes med afsendelse af mailen
    {
            $headers="From: ".$_POST['name']."<".$_POST['email'].">";
            if (@mail("mats1122@yahoo.dk", strip_tags($_POST['subject']),
            stripslashes(strip_tags($_POST['message']), ($_SESSION['kurv'])), $headers))
            {
            echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
            }
            else
            {
            echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
            }
    }
        else
        {
        echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
        }
}
?>
Avatar billede matz Nybegynder
08. marts 2007 - 09:58 #14
Parse error: parse error, unexpected T_ELSE on line 30
Avatar billede kalp Novice
08. marts 2007 - 09:59 #15
yep... den fangede jeg også lige.. prøv mit forrige indlæg hvor det skulle være rettet.
Avatar billede matz Nybegynder
08. marts 2007 - 10:01 #16
Jeps..men modtager stadig intet på min mail.. hmm underligt.
Avatar billede boxer Praktikant
08. marts 2007 - 10:01 #17
Så vidt jeg kan se har du ikke fulgt anvisningen helt nøjagtigt:

// er alt ok, fortsættes med afsendelse af mailen
{
  $headers="From: ".$_POST['name']."<".$_POST['email'].">";
  if (@$_POST['customer_copy'])
  {
  $headers .= "\r\nBcc: ".$_POST['email'];
  }
  if (@mail("dit.navn@dit_domain.dk", strip_tags($_POST['subject']),
  stripslashes(strip_tags($_POST['message'])), $headers))
  {
  echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
  }
  else
  {
  echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
  }
}
else
{
  echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
?>

Prøv at bruge ovenstående og indsæt selvfølgelig din egen mailadr. Du skal muligvis bruge en adr. der tilhører det domæne formmailen ligger på.
Avatar billede matz Nybegynder
08. marts 2007 - 10:23 #18
Er der nogen her som har testet den til min e-mail, jeg har modtaget en test?
Avatar billede kalp Novice
08. marts 2007 - 10:26 #19
nope.. jeg har ikke testet..
Avatar billede boxer Praktikant
08. marts 2007 - 10:32 #20
heller ikke her
Avatar billede matz Nybegynder
08. marts 2007 - 10:36 #21
Hmm kan det passe at den her hiver fast i min udbyders mail som udsender mails?

<?php
$to = "lala@test.dk";
$subject = "Hejsa!";
$body = "Hejsa,\n\njeg tester";
if (mail($to, $subject, $body)) {
  echo("<p>sendt!</p>");
} else {
  echo("<p>fejl!..</p>");
}
?>

Der står nemlig det samme i den... også er den sendt fra nobody@web1.1go.dk
Avatar billede kalp Novice
08. marts 2007 - 10:39 #22
den hiver fat i din udbyders smpt server ja...
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