TheWebMachine Networks Support Wiki

The Home of AWS FreePBX® - A division of Rebar IT Outsourcing

User Tools

Site Tools


freepbx_general:fix_postfix

Fixing issues with postfix External SMTP not sending

Introduction

This guide is intended to help you address issues with the postfix email service and get emails sending properly. You can quickly see that messages are failing if you see a 🔥 icon next to the Mail Queue item on the Dashboard. Upon hovering your mouse pointer over the 🔥 icon, you are informed that there are undelivered messages in queue:

If the message you see upon hovering your pointer is instead a message stating that the service is not running, can't be started, or the status is unknown, you are likely instead suffering from the postfix permissions bug. You can remedy this by running:

smartupgrade fix-postfix

Running this will have no ill effects on your instance, even if you aren't suffering postfix service runtime issues. So, running this is a safe first troubleshooting step. Then proceed to the specific cases below.


Large volumes of emails via GMail/GSuite

The default GMail/GSuite SMTP server utilized by the handy GMail provider button in the System Admin > Email Setup page is the standard low-volume server that only allows up to 2000 emails sent per 24 hour period per GMail/GSuite account (NOT ALIAS). If you are using GSuite and are expecting your sent email volume to exceed 2000 messages per day, you will need to utilize the Other provider, manually specify smtp-relay.gmail.com, Use Authentication, Use TLS, & Require Both SASL options. You may need to alter your GSuite permissions to allow use of the high-volume relay.


IPv6 doesn't work with all providers and postfix sometimes fails to switch to IPv4 properly

This seems to happen most often with Office365 but can happen with any provider. You will need to connect via SSH, run nano /etc/postfix/main.cf and find the parameter inet_protocols to change the value from all to ipv4 . This will force postfix to only send mail via IPv4.


Your email domain settings are not being respected, resulting in SASL Authentication errors with the provider

This appears to be caused by a yet undetermined bug in either postfix or the FreePBX routines calling the postfix service. There are numerous articles discussing this issue in the various FreePBX forums. If you are seeing messages bearing an incorrect email address as the sender with a SASL error when viewing stuck messages in the mail queue (by running the mailq command), you may need to connect via SSH and complete the following steps:

nano /etc/postfix/generic
  • Go to the very end of the file (you can usually use the PgDn key to get there quickly)
  • You'll want to add all the lines you see below AFTER you replace emailfromaddress and real-domain.com with your correct email/authentication address:
root emailfromaddress@real-domain.com
root@localhost emailfromaddress@real-domain.com
root@localhost.localdomain emailfromaddress@real-domain.com
root@freepbx emailfromaddress@real-domain.com
root@freepbx.localdomain emailfromaddress@real-domain.com
asterisk emailfromaddress@real-domain.com
asterisk@localhost emailfromaddress@real-domain.com
asterisk@localhost.localdomain emailfromaddress@real-domain.com
asterisk@freepbx emailfromaddress@real-domain.com
asterisk@freepbx.localdomain emailfromaddress@real-domain.com
vm@asterisk emailfromaddress@real-domain.com
  • OPTIONAL To rewrite the domain for ALL addresses from the PBX, use these at the bottom of the file, again replacing “real-domain.com” with your own domain:
@freepbx @real-domain
@freepbx.localdomain @real-domain.com
@localhost @real-domain.com
@localhost.localdomain @real-domain.com
  • Use Ctrl+o and Enter to save and then Ctrl+x to exit nano. Then edit one more file:
 nano /etc/postfix/main.cf
  • Add the following line to the end:
smtp_generic_maps = hash:/etc/postfix/generic
  • Then run the following to commit changes and restart the postfix service:
postmap /etc/postfix/generic
service postfix restart

freepbx_general/fix_postfix.txt · Last modified: by TheWebMachine Networks

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki