phpemailspf

mail() php sendmail sending to gmail not working


Ubuntu 20.04 sendmail PHP 7.4 SPF DKIM1 DMARC1 all set correctly

trying this:

<?php
$to      = 'mail@gmail.com';
$subject = 'some subject testing object';
$message = 'hello, this is un message';
$headers = 'From: "Something here" <from@domain.com>' . "\r\n" .
    'Reply-To: "Reply to" <reply@domain.com>' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

var_dump(
mail($to, $subject, $message, $headers)
);
?>

the output of this is true, obviously and try to see in the logs what happened. This worked before in ubuntu 16.04. After upgrade I have to setup mail server again in the VPS.

Aug 30 13:59:52 vps229XXX sendmail[678555]: 27UDxqF5678555: from=www-data, size=287, class=0, nrcpts=1, msgid=<202208301359.27UDxqF5678555@vps229XXX.vps.domain.com>, relay=www-data@localhost
Aug 30 13:59:52 vps229XXX sm-mta[678556]: 27UDxqa4678556: from=<www-data@vps229XXX.vps.domain.com>, size=520, class=0, nrcpts=1, msgid=<202208301359.27UDxqF5678555@vps229XXX.vps.domain.com>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Aug 30 13:59:52 vps229XXX sendmail[678555]: 27UDxqF5678555: to=mail@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30287, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (27UDxqa4678556 Message accepted for delivery)
Aug 30 13:59:53 vps229XXX sm-mta[678558]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1.3, verify=FAIL, cipher=TLS_AES_256_GCM_SHA384, bits=256/256
Aug 30 13:59:53 vps229XXX sm-mta[678558]: 27UDxqa4678556: to=<mail@gmail.com>, ctladdr=<www-data@vps229XXX.vps.domain.com> (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120520, relay=gmail-smtp-in.l.google.com. [172.253.122.27], dsn=5.0.0, stat=Service unavailable
Aug 30 13:59:53 vps229XXX sm-mta[678558]: 27UDxqa4678556: 27UDxra4678558: DSN: Service unavailable
Aug 30 13:59:53 vps229XXX sm-mta[678558]: 27UDxra4678558: to=<www-data@vps229XXX.vps.domain.com>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

in the logs we've seen this. I have checked in google and the trouble seems to be in SPF1 but i've allowed the VPS domain also and doesn't work.


Solution

  • after seeing some options in mail() php manual, i've seen there is a way to set manually the domain sender. Is not the best way but is a patch is working now for gmail:

    mail($to, $subject, $message, $headers, " -fmail@domain.com")

    the unspace between the mail and "-f" it's intended. AFter this, GMail is not returnend my mails. The mails get into spam, that's another fight to make, but now they're turned into.