• Welcome to the Chevereto User Community!

    Here, users from all over the world come together to learn, share, and collaborate on everything related to Chevereto. It's a place to exchange ideas, ask questions, and help improve the software.

    Please keep in mind:

    • This community is user-driven. Always be polite and respectful to others.
    • Support development by purchasing a Chevereto license, which also gives you priority support.
    • Go further by joining the Community Subscription for even faster response times and to help sustain this space
  • Chevereto Support CLST

    Support response

    Support checklist

    • Got a Something went wrong message? Read this guide and provide the actual error. Do not skip this.
    • Confirm that the server meets the System Requirements
    • Check for any available Hotfix - your issue could be already reported/fixed
    • Read documentation - It will be required to Debug and understand Errors for a faster support response

PHP mail() not RFC compliant (Yahoo)

Status
Not open for further replies.

evilmoe2

Not needed
Hello Rudolfo,

My server sent a email but rejected by yahoo:
"Diagnostic-Code: smtp; 554 Message not allowed - Headers are not RFC compliant[291]".
 
Which version are you using? Chevereto uses PHPMailer to do the email thing and I remember that I updated phpmailer lib several versions ago.
 
By the way, the phpmailer stuff is in the app/vendor folder. Make sure to have that updated.
 
Same issue with the contact email.


EDIT: I have updated /app/vendor but still get the error.
postfix/smtp[13892]: 557792070C: to=<xxxxxxxxxxxxxxx@yahoo.de>, relay=mx-eu.mail.am0.yahoodns.net[188.125.69.79]:25, delay=0.93, delays=0.4/0/0.12/0.41, dsn=5.0.0, status=bounced (host mx-eu.mail.am0.yahoodns.net[188.125.69.79] said: 554 Message not allowed - Headers are not RFC compliant[291] (in reply to end of DATA command))
 
Last edited:
Can you post the original message? I will like to see the full headers.
 
I've PHPMail in chevereto.com so I tested it there and send emails to yahoo worked. Pretty much the functions are exactly the same:

Chevereto contact form email function:
PHP:
$mail = new Mailer();  
$mail->CharSet = 'UTF-8';
$mail->Mailer = CHV\getSettings()['email_mode'];
if(CHV\getSettings()['email_mode'] == 'smtp') {
    $mail->IsSMTP();
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = CHV\getSettings()['email_smtp_server_security'];
    $mail->Port    = CHV\getSettings()['email_smtp_server_port'];
    $mail->Host = CHV\getSettings()['email_smtp_server'];
    $mail->Username = CHV\getSettings()['email_smtp_server_username'];
    $mail->Password = CHV\getSettings()['email_smtp_server_password'];
}
$mail->Timeout = 30;

$mail->Subject = $subject;
$mail->Body = $body;

$mail->addAddress($to);
$mail->addReplyTo($email);
$mail->setFrom(CHV\getSettings()['email_from_email'], $name . ' (contact form)');

Chevereto.com mail function:
PHP:
$mail = new phpmailer();  
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = CHV\get_settings()['mail']['server'];
$mail->Username = CHV\get_settings()['mail']['user'];
$mail->Password = CHV\get_settings()['mail']['pass'];
$mail->Timeout = 30;

$mail->Subject = $subject;
$mail->Body = $mailbody;

$mail->addAddress($to);
$mail->addReplyTo($email);
$mail->setFrom('no-reply@chevereto.com', 'Chevereto contact form');

So if you are 100% sure that you are using updated code (Chevereto and PHPMailer) my only guess is that your server phpmail settings are wrong for Yahoo. I've always say that everybody should prefer SMTP over PHPMail and that is because SMTP is easier to make it work. Anyway, I tested with SMTP and with PHPMail and both worked, so this is more likely related to how your configure the php mail function.

Also I'm debugging phpmail() in the demo and I've been able to trigger the yahoo issue but in the demo I never configured phpmail with dkim and stuff like that. I will try to see if I can get something.
 
Last edited:
Here I got a properly full error message:
Code:
   ----- The following addresses had permanent fatal errors -----
    (reason: 554 Message not allowed - Headers are not RFC compliant[291])

   ----- Transcript of session follows -----
... while talking to mta5.am0.yahoodns.net.:

            DATA

<<< 554 Message not allowed - Headers are not RFC compliant[291]
554 5.0.0 Service unavailable

Reporting-MTA: dns; demo.chevereto.com
Received-From-MTA: DNS; localhost
Arrival-Date: Mon, 23 Feb 2015 13:23:15 -0500

Final-Recipient: RFC822;
Action: failed
Status: 5.0.0
Remote-MTA: DNS; mta5.am0.yahoodns.net
Diagnostic-Code: SMTP; 554 Message not allowed - Headers are not RFC compliant[291]
Last-Attempt-Date: Mon, 23 Feb 2015 13:23:17 -0500

Return-Path: <no-reply@chevereto.com>
Received: from demo.chevereto.com (localhost [127.0.0.1])
    by demo.chevereto.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id t1NINFDH024249
    for ; Mon, 23 Feb 2015 13:23:15 -0500
Received: (from www-data@localhost)
    by demo.chevereto.com (8.14.4/8.14.4/Submit) id t1NINFea024248;
    Mon, 23 Feb 2015 13:23:15 -0500
X-Authentication-Warning: demo.chevereto.com: www-data set sender to no-reply@chevereto.com using -f
To: 
Subject: Chevereto demo contact form
X-PHP-Originating-Script: 33:class.phpmailer.php
Date: Mon, 23 Feb 2015 15:23:15 -0300
To: 
From: "Rodolfo Berrios (contact form)" <no-reply@chevereto.com>
Reply-To: inbox@rodolfoberrios.com
Subject: Chevereto demo contact form
Message-ID: <69e34b5ec9ddbd9463688108707edd87@demo.chevereto.com>
X-Priority: 3
X-Mailer: PHPMailer 5.2.9 (https://github.com/PHPMailer/PHPMailer/)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

I will say that the missing signatures and the SPF record is causing issues. To test this you can go to this website: http://www.mail-tester.com/ and use that email as the inbox email address in your Chevereto email settings, go to the contact form and send an email (that it will be delivered to that thing). It will tell you what is wrong and how you can fix it, in my case the demo scored 0.1/10 using PHPMail because I didn't configure it at all. PHPMail in Chevereto.com gets a 6.9/10 score (which is also bad but at least yahoo doesn't bounce it).

Using SMTP I get 9/10 in Chevereto.com and 10/10 in demo.chevereto.com which is abysmal vs 6.9/10 and 0.1/10
 
Last edited:
Status
Not open for further replies.
Back
Top