Avatar billede mm12010 Nybegynder
08. september 2002 - 15:36 Der er 19 kommentarer og
2 løsninger

sende mail

Kan man ikke med et php-script sende <form> uden at brugeren selv skal sende den via sit eget postprogram?
Avatar billede gizmo-gizmo Nybegynder
08. september 2002 - 15:39 #1
Jeg er ikke helt med.

Vil du bare have en almindelig formmailer hvor der er nogle felter, når man trykker på send, så sender den det med email, til ens email?
Avatar billede gizmo-gizmo Nybegynder
08. september 2002 - 15:40 #2
men du kan også prøve at kigge lidt på PHP's mail funktionen.

den er meget simpel:

f.eks.
<?php
mail("til@til.dk", "emne", "indhold", "from: fra@fra.dk");
?>
Avatar billede predator_ Nybegynder
08. september 2002 - 15:40 #3
det kan du da med mail()
mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])

f.eks. mail("nogen@tele.dk","en lille mail","her er min besked");
Avatar billede predator_ Nybegynder
08. september 2002 - 15:40 #4
jeg er så langsom :(
Avatar billede ahv Nybegynder
08. september 2002 - 15:41 #5
<?
if($besked) {
mail("mail@mail.dk"," Besked","
Navn: $navn
Url: $url
Søgeord: $søgeord

$besked");
echo("Din besked er afsendt!");

} elseif ($send) {
echo("Din besked blev ikke afsendt korrekt - prøv venligst igen!");
}
?>

    <form action="mail.php" method="post">
Navn:     <input type="text" name="navn"><br>
besked:     <input type="text" name="besked" value=""><br><br>
    <input type="submit" name="send" value="Send">
    <input type="reset" name="reset" value="Slet">
    </form>
Avatar billede mm12010 Nybegynder
08. september 2002 - 15:41 #6
Jeps - men normalt ryger mailen over i brugerens udbakke hvorefter vedkommende selv skal sende.

I dette tilfølde skal php-sciptet sende mailen med det samme.
Avatar billede ahv Nybegynder
08. september 2002 - 15:42 #7
Hmmm Den troede jeg elles jeg havde liggende lige til at bruge :( Den skal se sådan her ud :

<?
if($besked) {
mail("mail@mail.dk"," Besked","
Navn: $navn
Besked: $besked


$besked");
echo("Din besked er afsendt!");

} elseif ($send) {
echo("Din besked blev ikke afsendt korrekt - prøv venligst igen!");
}
?>

    <form action="mail.php" method="post">
Navn:    <input type="text" name="navn"><br>
besked:    <input type="text" name="besked" value=""><br><br>
    <input type="submit" name="send" value="Send">
    <input type="reset" name="reset" value="Slet">
    </form>


kald filen mail.php
Avatar billede gizmo-gizmo Nybegynder
08. september 2002 - 15:43 #8
Her er et script som også tjekker om alle felter er udfyldt med java script:


<?
if (isset($_POST['submit'])) {
    mail("123@123.dk","besked fra mailsender","
        Navn: $_POST['navn']
        Email: $_POST['email']
        url: $_POST['url']

        $besked","from:mailsender@mailsender.dk");

        echo "Beskeden er nu blevet afsendt!!";
        exit;
}
?>

<html>
<head>
<!--Tjek om alle felterne er indtastet -->
    <script type="text/javascript">
    function tjek() {
        fejl = 0;
        if ((document.form.navn.value=='') && (fejl == 0)) {
            document.form.navn.focus();
            alert('Udfyld venligst navn');
            fejl = 1;
        }
       
        if ((document.form.email.value=='') && (fejl == 0)) {
            document.form.email.focus();
            alert('Udfyld venligst email');
            fejl = 1;
        }                           

        if ((document.form.besked.value=='') && (fejl == 0)) {
            document.form.besked.focus();
            alert('Skriv venligst en besked');
            fejl = 1;
        }

        if (fejl==0) {
            document.form.submit();
        }
}
</script>
    <title> Mail sender 1.0 </title>
</head>

<!-- form felter -->
<form action="<?=$PHP_SELF;?>" method="post" name="form" OnSubmit="tjek(); return false;">
<table border="0" style="font-family: verdana;">
    <tr>
        <td width="190"> Dit navn: </td>
        <td> <input type="text" name="navn"> </td>
    </tr>
    <tr>
        <td> Din email: </td>
        <td> <input type="text" name="email"> </td>
    </tr>
    <tr>
        <td> Evt. hjemmeside: </td>
        <td> <input type="text" name="url" value="http://"> </td>
    </tr>
    <tr>
        <td> <br> Besked: </td>
    </tr>
</table>
<textarea cols="40" rows="8" name="besked"></textarea>
<input type="submit" name="submit" value="send mail!">
</form>
Avatar billede mm12010 Nybegynder
08. september 2002 - 15:43 #9
jeg har ikke en skid forstand på php, så jeg er nød til at få det skåret ud i pap...
Avatar billede gizmo-gizmo Nybegynder
08. september 2002 - 15:47 #10
Det eneste PHP kode der egentlig er i de overstående scripts er funktionen til mail() som jeg beskrev i nr.2 indlæg.

Resten er bare HTML og javascript kode.
Avatar billede mm12010 Nybegynder
08. september 2002 - 15:47 #11
jeg skal have sendt indholdet af denne form:

<form name="tilmelding" onSubmit="return afsendelse(this)" action="mailto:mail@mail.dk?body=Tilmelding%20til%20Gensynsfest<br>" enctype="text/plain" method="post">
        <br>
       
        <table width="500" border="0" align="center" cellpadding="3" cellspacing="0">
          <tr>
            <td class="border" colspan="2">&Oslash;nsker du at deltage s&aring;
              udfyld felterne og tryk p&aring; Send</td>
          </tr>
          <tr>
            <td colspan="2"><img src="../graphics/blank.gif" width="1" height="0"></td>
          </tr>
          <tr>
            <td width="208"> <p>Navn:</p></td>
            <td> <input type="text" name="navn" size="36" maxlength="50" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Adresse:</p></td>
            <td> <input type="text" name="adresse" size="36" maxlength="50" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Postnr. &amp; By:</p></td>
            <td> <input type="text" name="post" size="8" maxlength="4" class="form">
              <img src="../graphics/blank.gif" width="3" height="1"> <input type="text" name="by" size="22" maxlength="50" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>E-mail: </p></td>
            <td> <input type="text" size="36" maxlength="50" name="mail" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Tlf. nr.: </p></td>
            <td> <input type="text" size="12" maxlength="8" name="tlf" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Afgangs&aring;r: </p></td>
            <td> <input name="afgangsar" type="text" class="form" id="afgangsar" size="12" maxlength="4">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Offentligg&oslash;r min e-mail:</p></td>
            <td> &nbsp;Ja:
              <input type="radio" name="tilføj_mail" value="ja" checked >
              Nej:
              <input type="radio" name="tilføj_mail" value="nej" > </td>
          </tr>
          <tr>
            <td width="208" valign="top"> <p> Kommentarer eller forslag i<br>
                forbindelse med tilmelding:</p></td>
            <td valign="top"><textarea cols="26" name="kommentar" class="form"></textarea>
            </td>
          </tr>
          <tr>
            <td width="208"> <p>&nbsp; </p></td>
            <td> <input type="submit" name="submit" value="Send" style="cursor: hand; width: 80px; height: 21" class="form" onMouseOver="window.status='Send Tilmelding'" onMouseOut="window.status=''">
              &nbsp;&nbsp; <img src="../graphics/blank.gif" width="16" height="1">
              <input type="reset" name="reset" value="Ryd Felter" style="cursor: hand; width: 80px; height: 20" class="form" onMouseOver="window.status='Slet alle indtastninger'" onMouseOut="window.status=''">
            </td>
          </tr>
        </table>
     
      </form>
Avatar billede ahv Nybegynder
08. september 2002 - 15:49 #12
Altså :

<?
if($besked) { //hvis besked feltet er udfyldt skal den gøre :
mail("alexander_hv@hotmail.com "," Besked"," // skriv din mail der hvor min står
Navn: $navn // her kommer afsenderens navn
Besked: $besked // her kommer afsenderens besked
");
echo("Din besked er afsendt!"); // fortæller den er afsendt

} elseif ($send) { // hvis ikke besked er udfyldt
echo("Din besked blev ikke afsendt korrekt - prøv venligst igen!"); // fortæller den det her
}
?>

<form action="mail.php" method="post">
Navn: <input type="text" name="navn"><br>
besked: <input type="text" name="besked" value=""><br><br>
<input type="submit" name="send" value="Send">
<input type="reset" name="reset" value="Slet">
</form>
Avatar billede ahv Nybegynder
08. september 2002 - 15:51 #13
Du kan se hvordan flg. kode virker :

<?
if($besked) {
mail("alexander_hv@hotmail.com "," Besked","
Navn: $navn
Besked: $besked
");
echo("Din besked er afsendt!");

} elseif ($send) {
echo("Din besked blev ikke afsendt korrekt - prøv venligst igen!");
}
?>

<form action="mail.php" method="post">
Navn: <input type="text" name="navn"><br>
besked: <input type="text" name="besked" value=""><br><br>
<input type="submit" name="send" value="Send">
<input type="reset" name="reset" value="Slet">
</form>


på denne side http://www.blomme.h4f.dk/mail.php

Den sender mailen til mig på alexander_hv@hotmail.com
Avatar billede paviuz Nybegynder
08. september 2002 - 15:53 #14
ja se:
Du tar gizmo's script og putter det i en fil, fx: mail.php
så finder du stedet oppe i toppen hvor der står:
123@123.dk
og ændre det til din mail Wolal? var det svært? ;)
Avatar billede ahv Nybegynder
08. september 2002 - 15:56 #15
Paviuz du tester bare ;)

Navn: PaviuZ
Besked: tester lige noget . \' , \' \" ,\'
Avatar billede ahv Nybegynder
08. september 2002 - 16:01 #16
Paviuz, hvad er det lige du vil teste ?

Navn: tester
Besked: tester igen
Avatar billede mm12010 Nybegynder
08. september 2002 - 16:42 #17
hvad gør jeg galt?

<form name="tilmelding" onSubmit="return afsendelse(this)" action="tilmelding_test.php" enctype="text/plain" method="post">
        <table width="500" border="0" align="center" cellpadding="3" cellspacing="0">
          <tr>
            <td class="border" colspan="2">&Oslash;nsker du at deltage s&aring;
              udfyld felterne og tryk p&aring; Send</td>
          </tr>
         

         
         
          <tr>
            <td colspan="2" align="left">
           
            <?
    if($navn) { //hvis besked feltet er udfyldt skal den gøre :
    mail(
    "jesper@grini.dk "," 'Tilmeilding til Gensynsfest'", "
    Navn: $navn
    Adresse: $adresse
    Post: $post
    By: $by
    E-mail: $mail
    Afgangsår: $afgangsar
    Tilføj_mail: $tilføj_mail
    Kommentar: $kommentar
    ");
    echo("Din tilmelding er afsendt."); // fortæller den er afsendt

    } elseif ($send) { // hvis ikke besked er udfyldt
    echo("Din tilmelding blev ikke afsendt korrekt - prøv venligst igen."); // fortæller den det her
    }
?>
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Navn:</p></td>
            <td> <input type="text" name="navn" size="36" maxlength="50" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Adresse:</p></td>
            <td> <input type="text" name="adresse" size="36" maxlength="50" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Postnr. &amp; By:</p></td>
            <td> <input type="text" name="post" size="8" maxlength="4" class="form">
              <img src="../../graphics/blank.gif" width="3" height="1"> <input type="text" name="by" size="22" maxlength="50" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>E-mail: </p></td>
            <td> <input type="text" size="36" maxlength="50" name="mail" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Tlf. nr.: </p></td>
            <td> <input type="text" size="12" maxlength="8" name="tlf" class="form">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Afgangs&aring;r: </p></td>
            <td> <input name="afgangsar" type="text" class="form" id="afgangsar" size="12" maxlength="4">
            </td>
          </tr>
          <tr>
            <td width="208"> <p>Offentligg&oslash;r min e-mail:</p></td>
            <td> &nbsp;Ja:
              <input type="radio" name="tilføj_mail" value="ja" checked >
              Nej:
              <input type="radio" name="tilføj_mail" value="nej" > </td>
          </tr>
          <tr>
            <td width="208" valign="top"> <p> Kommentarer eller forslag i<br>
                forbindelse med tilmelding:</p></td>
            <td valign="top"><textarea cols="26" name="kommentar" class="form"></textarea>
            </td>
          </tr>
          <tr>
            <td width="208"> <p>&nbsp; </p></td>
            <td> <input type="submit" name="submit" value="Send" style="cursor: hand; width: 80px; height: 21" class="form" onMouseOver="window.status='Send Tilmelding'" onMouseOut="window.status=''">
              &nbsp;&nbsp; <img src="../../graphics/blank.gif" width="16" height="1">
              <input type="reset" name="reset" value="Ryd Felter" style="cursor: hand; width: 80px; height: 20" class="form" onMouseOver="window.status='Slet alle indtastninger'" onMouseOut="window.status=''">
            </td>
          </tr>
        </table>
     
      </form>
Avatar billede mm12010 Nybegynder
08. september 2002 - 16:45 #18
jeg får ingen besked om mail er sendt eller ej - og jeg får heller ikke nogen mail
Avatar billede mm12010 Nybegynder
08. september 2002 - 17:10 #19
der skal nok komme lidt extra point på til den der løser mysteriet!
Avatar billede mm12010 Nybegynder
09. september 2002 - 14:13 #20
har fundet ud det - php kan ikke sende mailen hvis man bruger enctype="text/plain" i <form>

lidt til ahv for sine anstengelser

takker og lukker
Avatar billede tingleff Praktikant
15. september 2002 - 21:23 #21
hvorfor får jeg en fejl i linjen efter  Kommentar: $kommentar
hvor den siger ");
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