In the PrestaShop 1.5 back office, you have the ability to send email via either the php mail() function or SMTP. It is the most common to use the php mail() function. When using this setting, you may receive an error like the one below:

Sending failed using mail() as PHP's default mail() function returned boolean FALSE

This error occurs because of a false return code for the following statement in the MailSend.php.

if (!ini_get("safe_mode")) $success = mail($to, $subject, $message, $headers, $params); else $success = mail($to, $subject, $message, $headers);

The first thing you want to check is to see if the mail() function is enabled on your server. This can be easily checked by using a phpinfo page. If the mail function is disabled, it will display in the disable_functions label as shown here.

php info description

If the mail function is enabled, then you may need to follow the steps below to fix the issue and allow your site to send mail. Follow the guide below as we show you how to fix the "Sending failed using mail() as PHP's default mail() function returned boolean FALSE" error in PrestaShop 1.5.

Fixing the ability to use the mail function in PrestaShop 1.5

  1. First, log into your cPanel dashboard.
  2. From the main cPanel, navigate to the root folder for your PrestaShop application by using the File Manager.
  3. Once in the root folder, you will need to make three code changes in three files. The first is located in the /tools/swift/Swift/Plugin/MailSend.php at around line 158.

    Change
    $headers = $headers->build();

    To
    $headers = $headers->build();
    $params = "";
  4. Next, navigate to the /tools/swift/Swift/Message.php file to around line 79.

    Change
    $this->setFrom("");

    To
    $this->setFrom("yourmail@example.com");
  5. Finally, navigate and change the /tools/swift/Swift.php file at around line 370.

    Change
    if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);

    To
    if (!($has_reply_to = $message->getReplyTo())) $message->setReplyTo($from);
    if (!$has_reply_to[0]) $message->setReplyTo($from->getAddress());
  6. Ensure you save each of the edited files in order to activate the changes. Your PrestaShop 1.5 site should now be able to send email. Special thanks from Sales Mechanics in the PrestaShop.com forums for this fix!
Did you find this article helpful?

We value your feedback!

Why was this article not helpful? (Check all that apply)
The article is too difficult or too technical to follow.
There is a step or detail missing from the instructions.
The information is incorrect or out-of-date.
It does not resolve the question/problem I have.
How did you find this article?
Please tell us how we can improve our Support Center:
Email Address
Optional, but our team may contact you for more information.
Like this Article?

Post a Comment

Name:
Email Address:
Comment:
Are you a bot?
Submit

Please note: Your name and comment will be displayed, but we will not show your email address.

Write New!
Do you want to publish a tutorial to our support center?

News / Announcements

SSL Certficate Warnings
Updated 2014-04-14 11:34 am EST
Hits: 2221
Heartbleed 0-day OpenSSL security bug
Updated 2014-04-14 04:43 pm EST
Hits: 5643

Related Questions

Here are a few questions related to this article that our customers have asked:
Ooops! It looks like there are no questions about this page.
Would you like to ask a question about this page? If so, click the button below!
Ask a Question

Need more Help?

Search

Ask the Community!

Get help with your questions from our community of like-minded hosting users and InMotion Hosting Staff.

Current Customers

Chat: Click to Chat Now E-mail: support@InMotionHosting.com
Call: 888-321-HOST (4678) Ticket: Submit a Support Ticket

Not a Customer?

Get web hosting from a company that is here to help. Sign up today!