Topic: PHP mail() not sending emails on

PieterSA free asked 3 years ago

Expected behavior

  • Mail sent successfully with: mail($email, $subject, $message, $headers);

Actual behavior

  • Mail not sent at all with: mail($email, $subject, $message, $headers);

  • Mail function doesn't seem to work, I followed the code example at\

  • My MDB CLI version is 3.3.0 (3.3.0 is not available to select on the form above) and PHP version is 8.0.6 (I had to publish as 7.4 as 8 is not available)

  • On my localhost mail IS sent successfully, using Mercury & fake email. But on it doesn't work and I get no error messages to know what is wrong.

  • I tried different headers and all kinds of other stuff, please see below for headers:

  • (UPDATE 2021-05-16 14:25: I installed PHPMailer and got it to work with Gmail's SMTP service. Settings:, SMTPSecure: ssl, Port: 465 & SMTPAuth: true. On my Gmail account, I had to enable Two-step verification and create an App password which I then plugged in as my gmail account password for the credentials.)

  • I'm happy with this but if you guys have another way I can send emails using your server please let me know. Thanks!

Resources (screenshots, code snippets etc.)

My error message on

    require_once '';

    $subject = $_POST['subject'];
    $body = $_POST['body'];
    // Tried different versions of this first:
    $headers = "From: Newsletter No Reply <>\n";
    $headers .= "Reply-To: Newsletter <>\n";
    $headers .= "Content-Type: text/plain; charset='iso-8859-1'\n";
    $headers .= "Content-Transfer-Encoding: 8bit\n";

    // Tried this:
    // $headers = "From: Newsletter No Reply <>\r\n";
    // $headers .= "Reply-To: Newsletter <>\r\n";
    // $headers .= "X-Mailer: PHP/" . PHP_VERSION;

    // Tried this:
    // $headers = array("From:",
    //     "Reply-To:",
    //     "X-Mailer: PHP/" . PHP_VERSION;
    // );
    // $headers = implode("\r\n", $headers);

    // Tried this:
    // $headers = "From:" . "\r\n";
    // $headers .= "MIME-Version: 1.0" . "\r\n";
    // $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    // Tried this:
    // $headers[] = 'MIME-Version: 1.0';
    // $headers[] = 'Content-type: text/html; charset=iso-8859-1';
    // $headers = implode("\r\n", $headers);

    // Lastely tried this:
    // $headers = array(
    //     "From:",
    //     "Reply-To:",
    //     "Content-Type: text/plain; charset=iso-8859-1",
    //     "Content-Transfer-Encoding: 8bit"
    // );
    // $headers = implode("\r\n", $headers);

    // Rest of my code:
    $query = "SELECT * from $table";
    $result = $dbc->query($query)
        or die ("Error querying database... " . $dbc->error);

    while ($row = mysqli_fetch_array($result, MYSQLI_BOTH))
        $first_name = $row["first_name"];
        $last_name = $row["last_name"];
        $email = $row["email"];

        $message = "Dear $first_name $last_name, \n $body";

        if(mail($email, $subject, $message, $headers)){
            echo "Email sent to: $email";
        else {
            echo "MESSAGE: Failed to send email to: $email";

Sebastian Kaczmarek staff answered 3 years ago

Hi, sorry for the inconvenience. We are aware of this problem and are working on it. Currently, your solution is the only working one. But as I said we are trying to solve it so that mail() could work.

PieterSA free commented 3 years ago

Thank you for your response, I'm looking forward to see it working again!

Please insert min. 20 characters.


Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.



Specification of the issue

  • ForumUser: Free
  • Premium support: No
  • Technology: MDB CLI / MDB GO
  • MDB Version: 3.2.7
  • Device: PC Desktop
  • Browser: Google Chrome (latest)
  • OS: Windows 10 (latest)
  • Provided sample code: Yes
  • Provided link: Yes