Hoi mensen,

mail('mijn@mailadres', 'Bericht van mijndomein.nl', $message, 'From: '.$email);

werkt niet bij mij.
hij geeft geen fout melding maar de mailo komt niet aan.

Iemand een idee?

groet Ronald

Je mist een aantal headers en de controle of het is gelukt.


<?php
    $headers  = 'MIME-Version: 1.0' . "\r\n" . 
        'Content-type: text/html; charset=UTF-8' . "\r\n" . 
        'From: [email protected]' . "\r\n" . 
        'Reply-To: [email protected]' . "\r\n" . 
        'X-Mailer: PHP/' . phpversion(); 

    if(mail('[email protected]', 'Bericht van mijndomein.nl', $message, $headers)) 
    { 
        echo 'Mail has been sent'; 
    } 
    else 
    { 
        echo 'Failed sending'; 
    } 
    echo ' (' . date('H:i:s') . ')';
?>


edit: $email moest $headers zijn...
nee dat doet het allemaal.
in het origineel zit dat allemaal.
het is puur de opdracht die niets doet
Ik snap niet wat je bedoelt.
Headers zijn sowieso nodig, en een foutafhandeling is zeker aan te raden.
Wat bedoel je met 'de opdracht'?
wordt de mail niet verstuurd, of komt deze niet aan?

Verder is het wel handig om code of info te plaatsten die met het probleem te maken heeft.
Je post nu een voorbeeld, maar in je laatste post zeg je dat de headers allemaal in je mail zitten. Dat staat niet in je openingspost: daar staat alleen een from-header.
Voeg ook eens de error_reporting toe aan je script op de eerste regels.
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// Hier je mail script.
?>

Mogelijk heb je wel een error, maar wordt deze niet weergegeven.
DIt is mijn testscriptje nu.
Hij geeft keurig: Mail has been sent (09:19:21)
Er komt echter geen mail binnen.

<?php

error_reporting(E_ALL);
ini_set("display_errors", 1);

$message = "Dit is het bericht";

$headers = 'MIME-Version: 1.0' . "\r\n" .
'Content-type: text/html; charset=UTF-8' . "\r\n" .
'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

if(mail('[email protected]', 'Bericht van mijndomein.nl', $message, $headers))
{
echo 'Mail has been sent';
}
else
{
echo 'Failed sending';
}
echo ' (' . date('H:i:s') . ')';
?>
Gebruik als FROM het domein van je hosting. Bijv. [email protected]
En kijk ook eens in je SPAM folder.
van http://php.net/mail

Note:
If messages are not received, try using a LF (\n) only. Some Unix mail transfer agents (most notably » qmail) replace LF by CRLF automatically (which leads to doubling CR if CRLF is used). This should be a last resort, as it does not comply with » RFC 2822.

dus wat als je alle \r verwijdert?

[size=xsmall]Toevoeging op 23/04/2014 09:33:10:[/size]

en voeg eens een bounce adres toe waard de ontvangende mailserver een reden van afwijzing heen kan sturen.
geen effect. beide niet.
Kan het te maken hebben dat ik bij tele2 zit?

dig r***je.nl mx


geeft bij mij geen antwoord. Dus er is geen mx record voor dat domein. En ook geen A record om op terug te vallen.

Reageren