Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Wie kan mij even helpen.

Ik wil een mail versturen vanaf een website.

Dat werkt, echter in de mail van de ontvanger staat bij het bericht alles achter elkaar geschreven.

Voorbeeld:

Dit is een bericht omtrent de door uw gevraagde informatie over computers.

Het moet echter zijn:

Dit is een bericht

omtrent de door u gevraagde informatie

over computers

Er moeten dus returns tussen.

Ik heb in de PHP string staan:

$bericht= “dit is een bericht ” . “omtrent de door u gevraagde informatie ” . “over computers”;

ik heb er van gemaakt;

$bericht= “dit is een bericht /r ” . “omtrent de door u gevraagde informatie /r” . “over computers”;

maar het is niet juist

Weet iemand hoe de string nu precies moet luiden?

Groeten Wim

  • 2 weken later...
Geplaatst:

Om een email te kunnen verzenden met HTML inhoud, moet je wat bepaalde headers mee sturen en wat replacers uitvoeren.

Hetvolgende script doet dit voor je:

Sla de code op in een bestand: sendmail.php

<?

/*
Unhighlight the return true; and return false; to use your own check function.

IMPORTANT!
Hightlight the other return showresult("item") when using your own check function.

*/


function sendmail($emailto, $nameto, $emailfrom, $namefrom, $subject, $message){
   $headers = headers($emailto, $nameto, $emailfrom, $namefrom);
   $message = nl2br($message);  // replace 'return' to <br />
   if(is_valid_email($emailto)){
       if(mail($emailto, $subject, $message, $headers)){
           // return true;
           return show_result("sent");
       }else{
           //return false;
           return show_result("notsent");
       }
   }else{
       //return false;
       return show_result("invalidto");
   }
}

function is_valid_email($email){
   if(preg_match( '/[.+a-zA-Z0-9_-]+@[a-zA-Z0-9-]+.[a-zA-Z]+/', $email ) >= 1){
       return true;
   }else{
       return false;
   }
}

function show_result($result){
   switch($result){
       case "sent":
           echo "Succesvol verzonden";
           break;
       case "notsent":
           echo "Kon mail niet verzenden";
           break;
       case "invalidfrom":
           echo "Het emailadres waarnaar u verzend is niet geldig";
           break;
   }
}

function headers($emailto, $nameto, $emailfrom, $namefrom){
   $headers = "Content-type: text/plain\r\n";
   $headers .= "MIME-Version: 1.0\r\n";
   $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
   $headers .= "To: " .$nameto. " <" .$emailto. ">\r\n";
   $headers .= "From: " .$namefrom. " <" .$emailfrom. ">";
   return $headers;
}


?>

Er zitten 2 soorten in om te gebruiken. Dat staat in het gehighlight gedeelte op de eerste paar regels.

Om het script te kunnen gebruiken moet je dit bestand (sendmail.php) includeren op de plek waar jij een mail wilt verzenden.

Dit doe je door in te typen:

require(locatie);

// oftewel

require("sendmail.php");

Op de plek waar je een mail wilt verzenden typ je dit:

sendmail($emailto, $nameto, $emailfrom, $namefrom, $subject, $message);

Dit gebruik je als je de return types laat staan zoals ze nu staan.

En wil je een eigen functie ervan maken om te controleren of het mailtje wel echt verzonden is e.d. gebruik je deze zo:

if(sendmail($emailto, $nameto, $emailfrom, $namefrom, $subject, $message)){
    echo "Succesvol verzonden";
}else{
    echo "Er is een fout opgetreden. Emailadres is niet goed, of kan mail niet verzenden";
}

De variabelen $emailto, $nameto e.d. Moet je zelf definiëren. De variabele naam zegt wat de inhoud moet zijn.

Hier nogmaals in het kort welke variabele wat betekend:

$emailto = Emailadres ontvanger

$nameto = Naam ontvanger

$emailfrom = Emailadres verzender (jijzelf)

$namefrom = Naam verzender (vb. bedrijfsnaam)

$subject = Onderwerp van de mail

$message = Het bericht (dit kan direct een $_POST zijn bij een submit)

Mocht het niet lukken, of snap je iets niet, laat het gerust weten.

Groeten,

Leory

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.