Home » Incredible PBX » CentOS/SL Platform » Deploying a Non-Google SMTP RelayHost with Asterisk

The Most Versatile VoIP Provider: FREE PORTING

Deploying a Non-Google SMTP RelayHost with Asterisk

blank

This will not be the sexiest column you read this year, but it may be the most important. You need a reliable way for your VoIP-based PBX to deliver emails to you and your users when incoming voicemails arrive and when your server has problems. At least for Incredible PBX® platforms, we thought we had this solved with our Gmail Smarthost solution. But, alas, Google continues to move the goal posts and has announced that it will discontinue support for so-called "Less Secure Apps" on May 30, 2022. After watching Google blow up one of their apps after another over the years, you’d think we’d learn. But the ease of use and (free) pricing of Google offerings continues to entice until… another one bites the dust.

Why Do You Need a RelayHost? Many Internet Service Providers (ISPs) block downstream mail servers from sending email to reduce spam. If you have a PBX sitting behind a Comcast cable modem and you don’t have a business account, that would be you.

What Is a RelayHost? A RelayHost is an intermediate mail provider that provides last mile delivery of your server’s outbound email without your having to worry about the intricacies of setting up and properly configuring an SMTP gateway. Instead, your server pushes your outbound email messages to the smarthost using your credentials and leaves the rest of the delivery task to the RelayHost.

Choosing a RelayHost. Lucky for all of us, there are many RelayHost providers from which to choose. Most offer a free tier with 100 or more daily emails. For most PBXs, that is more than ample without spending a dime. If your server pushes out more than 100 emails a day, then there are commercial tiers of service available from these same providers. Here are some of the favorites recommended by our users: Twilio’s SendGrid, Mailjet, SendInBlue, and our own free MXroute offering. We would prefer you use our service as a last resort if you can’t get any of the other free offerings to work. We’ll show you how to set up Twilio’s SendGrid as a RelayHost to get you started.

Configuring a RelayHost with Incredible PBX. There’s good news and bad news. While all of these solutions offer a free tier, the setup process with some of these services can be a bear. We’ve attempted to take the pain out of this by walking you through the setup steps. For openers, configuring SendMail as an SMTP Smarthost is not for mere mortals so we’ll first migrate your PBX to Postfix to simplify the setup procedure. Here is a quick list of the tasks:

  1. Migrate Your PBX from SendMail to Postfix
  2. Obtain an Account with SmartHost Provider
  3. Configure Postfix Email Relay Using SmartHost Provider
  4. Test Outbound Mail

Migrating Incredible PBX 2022 to Postfix. Our new Incredible PBX 2022 build for Rocky 8 comes with both SendMail and Postfix preinstalled. So it’s simple to switch gears. Here are the commands:

systemctl stop sendmail
systemctl disable sendmail
systemctl start postfix
systemctl enable postfix
sed -i 's|-c sendmail|-c postfix|' /usr/local/sbin/pbxstatus
sed -i 's|SendMail| Postfix|' /usr/local/sbin/pbxstatus
systemctl status postfix

Migrating Incredible PBX 2021 to Postfix. By default, Incredible PBX 2021 servers do not include Postfix. So here are the steps to install Postfix and remove SendMail. These steps also apply to all releases of Incredible PBX on the Raspbian platform.

apt-get update
apt-get install postfix sasl2-bin -y
# choose No Configuration option when prompted in:
# dpkg-reconfigure postfix
systemctl stop sendmail
systemctl disable sendmail
systemctl start postfix
systemctl enable postfix
sed -i 's|-c sendmail|-c postfix|' /usr/local/sbin/pbxstatus
echo "incrediblepbx.com" > /etc/mailname
sed -i 's|SendMail| Postfix|' /usr/local/sbin/pbxstatus
systemctl status postfix

Creating a Free SendGrid Account. Begin by navigating to the SendGrid Start for Free link. Enter your Email Address and a 16-character password of your choice. Accept the Terms of Service and click Create Account. Fill in the Personal Information and click Get Started. Create a Single Sender Identity. Confirm receipt of the verification email. You can skip enabling Two-Factor Authentication if desired. Next, open the Email API tab and click Integration Guide. Choose SMTP Relay and create an APIKEY. Copy the generated APIKEY to a safe place. It cannot be deciphered again!

Now edit /etc/postfix/main.cf and add the following entries to the bottom of the file:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587

Then create /etc/postfix/sasl_passwd and enter the following, replacing YOUR-APIKEY with your actual key from above:

[smtp.sendgrid.net]:587 apikey:YOUR-APIKEY

Complete the setup by issuing the following commands:

chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
systemctl restart postfix
systemctl status postfix

IMPORTANT NOTE: With SendGrid, the email address you entered for your Single Sender Identity must match the FROM: address on every outbound email message sent from your server. We’ll need to adjust the FROM: address in FreePBX before any voicemail emails can be successfully sent. Also, if you send emails from the command line, the syntax must be as shown here with your sender@yourdomain.com matching what was entered as your Sender Identity email address.

echo "test" | mail -r sender@yourdomain.com -s testmessage recipient@somedomain.com

At least with Gmail recipients, they may also see the following with messages from your PBX until they click Looks Safe:

blank

Finally, be sure to adjust the FROM address for outbound voicemail messages in the FreePBX GUI. Login as admin and enter your Sender Identity Email Address in the Server Email field in Settings -> Voicemail Admin -> Settings -> Email Config.

You can check for errors by reviewing the Postfix mail log: tail /var/log/mail.log.

UPDATE: Setup scripts for Debian 10 and Rocky 8 can be downloaded here.

Originally published: Thursday, March 17, 2022


blank
Need help with Asterisk? Visit the VoIP-info Forum.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

blankBOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

blankThe lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

blankVitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

blankSpecial Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 



blank


7 Comments

  1. It appears that, even after May 30, 2022, you can still use Gmail for Relay by enabling 2SV and then activating an "App Password."
    Only "less secure apps" are being removed.

    [WM: Hope you’re correct.]

  2. Have you tried SMTP2go.com? You can do IP validation so "IP addresses added to SMTP2GO are permitted to send emails without using an SMTP username /password. You can enter either individual IP addresses, or IP address ranges using CIDR notation." I’ve been using them for years on printers and scanners. I don’t believe I’ve ever had an issue with them. You can also set up users with passwords and usernames.

  3. SMTP2Go.com isn’t a relay host. It is a SMTP Server. It does require being added to the DNS. This does allow DMarc & DKIM & SPIF setup.

Comments are closed.