Beste mensen,

Ik probeer met php een mail te versturen naar de nieuwe klanten die een abonnement hebben afgesloten. Ik doe dit in een server van DirectAdmin en heb dan ook een email van mijn eigen server ([email protected] (weggelaten door privacy)). Kan iemand mij helpen?

,groet Sem

PS: Hier is de code:


<?php
    if(isset($_POST['submit'])){
 
       $to = $_POST['mail'];
       $subject = 'Welkom op mijn site';
       $from = '[email protected]';
 
       //  HTML mail versturen
       $headers  = 'MIME-Version: 1.0' . "\r\n";
       $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
 
      //  email headers maken
      $headers .= 'From: '.$from."\r\n".
      'Reply-To: '.$from."\r\n" .
      'X-Mailer: PHP/' . phpversion();
 
      // html bericht maken
      $message = '<html><body>';
      $message .= '<h1 style="color:#f40;">Hallo!</h1>';
      $message .= '<p style="color:#000000;font-size:18px;">Welkom, u bent nu geabonneerd!</p>';
      $message .= '</body></html>';
 
      // email versturen
      if(mail($to, $subject, $message, $headers)){
         echo "Your mail has been sent successfully.";
      } else{
         echo "Unable to send email. Please try again.";
      }

    }
?>
<html>
    <head>
        <title>Abonneer</title>
    </head>
    <body>
        <h1>Abonneer nu voor mijn site</h1>
        <form method="post" action="">
            <input type="email" name="mail" placeholder="E-mail" required>
            <br>
            <br>
            <input type="submit" name="submit" value="Aboneer">
        </form>
    </body>
</html>

Hi allemaal,

Jullie zeggen allemaal dat ik PHPMailer moet gebruiken. Dus dat ga ik dan doen ook! Ik heb echter geen idee hoe dit werkt. Kan iemand mij helpen?

Sem
Ik raad aan om eerst even na te gaan waarom mail() niet werkt. Dus stuur daarmee eens een simpele mail, en kijk eens in de logfiles van Exim om eens te beginnen?

Mogelijk is het mailtransport op je server stuk, en dat is natuurlijk van essentieel belang.
Mogelijk is het ook handig om je te verdiepen in de werking van e-mail(verkeer).

Een andere (en tevens een deels opnieuw gestelde) vraag: waar vandaan probeer je mail te versturen die niet "werkt", en waaruit blijkt dat dit niet werkt?

Realiseer jezelf nogmaals dat mail die niet aankomt niet zoveel zegt, omdat er zoals eerder opgemerkt een heleboel dingen kunnen misgaan alvorens mail op de eindbestemming arriveert.

Het is jouw taak om te identificeren waar dit precies misgaat. Wij kunnen je daarbij helpen, maar alleen als je accurate en zo volledig mogelijke informatie verschaft, anders blijft het voor ons ook gissen waarom "de mail niet werkt".
Als ik op Admin-niveau in de mainlog kijk na een test met mail() naar een andere server (xs4all), dan kom ik dit tegen in de Exim Mainlog.



2020-04-08 12:23:13 cwd=/home/aar/domains/testdomein.nl/public_html/testscripts 5 args: /usr/sbin/sendmail -t -i -f [email protected]
2020-04-08 12:23:13 HBj6zH-6706Ph-TV <= [email protected] U=aar P=local S=428 T="Dit is een test" from <[email protected]> for [email protected]
2020-04-08 12:23:13 cwd=/var/spool/exim 3 args: /usr/sbin/exim -Mc HBj6zH-6706Ph-TV
2020-04-08 12:23:16 HBj6zH-6706Ph-TV => [email protected] F=<[email protected]> R=lookuphost T=remote_smtp S=471 H=mx2.xs4all.nl [194.109.24.138] X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=yes C="250 2.0.0 mxdrop304.xs4all.net accepted message 038ANDRP******"
2020-04-08 12:23:16 HBj6zH-6706Ph-TV Completed

(uiteraard gefingeerd)

In mijn geval kan ik dus afleiden dan de post is opgehaald vanaf mijn loakle postkamer, en naar de mailserver van XS4ALL gebracht is. En dat de mailserver mxdrop304.xs4all.net mij kan bevestigen dat die binnen is.

Wat er dan gebeurt, ligt bij de ontvangende mailserver zelf, en daar kan ik geen invloed op uitoefenen. Maar daar doet de postbode goed zijn werk, want ik krijg de mail gewoon netjes binnen in de postbus van [email protected].


Wat er gebeurt:
1) In de map /testscripts wordt een mailscript uitgevoerd en naar het sendmail-systeem van Linux gebracht.
2) De adresgegevens en het onderwerp worden gelezen, en het kenmerk HBj6zH-6706Ph-TV komt erop.
3) De post komt in de 'af te handelen bak' van Exim, die de mail vervolgens de mail verder richting mijn deur gaat wijzen.
4) De mail is naar de mailserver van xs4all gebracht mxdrop304.xs4all.net, en die zeggen dat ze het oké vinden!
5) Mooi, zegt mijn mailserver, en die geeft aan dat het afgehandeld is.

Dus de vraag is: Waar gaat het bij jouw fout?

Reageren