FreePBX 14 - Sysadmin Pro eMail Setup

Hey Guys,

I’m being dumb today, setting up my first 14 unit, went ahead and purchased Sysadmin Pro as I’ve done 100’s of times on 13… Went to go login with my email to send outbound emails for VM, and I see something new on 14…

On “External SMTP Server” I’m given the fill outs for My Hostname My Origin and My Domain

So I leave them blank put my gmail info in and send a test from debug to my personal gmail

Nov 1 15:41:43 freepbx postfix/smtp[6855]: 23B27C18B688: local data error while talking to smtp.gmail(.)com[173.194.175.109]
Nov 1 15:41:43 freepbx postfix/smtp[6855]: warning: hash:/etc/postfix/sasl_passwd is unavailable. open database /etc/postfix/sasl_passwd.db: No such file or directory
Nov 1 15:41:43 freepbx postfix/smtp[6855]: warning: hash:/etc/postfix/sasl_passwd lookup error for "smtp.gmail(.)com"
Nov 1 15:41:43 freepbx postfix/smtp[6855]: warning: 23B27C18B688: smtp_sasl_passwd lookup error
Nov 1 15:41:43 freepbx postfix/smtp[6855]: 23B27C18B688: to=<NOPE(at)gmail.com>, relay=smtp.gmail(.)com[173.194.175.108]:587, delay=0.54, delays=0.01/0.01/0.52/0, dsn=4.3.0, status=deferred (local data error while talking to smtp.gmail(.)com[173.194.175.108])

I’m just being dumb and missing somthing stupid I’m sure, help please

had to add (.) before the dot com becasue the forum’s rules on links

Works fine for me.

see image

Much luck.

HI!

This means that an important step was not done by SysAdmin Pro when you filled in your information…

The file /etc/postfix/sasl_passwd.db is generated by running postmap hash:/etc/postfix/sasl_passwd. As I don’t think you are expected to know about this or do that I believe SysAdmin Pro is supposed to do it for you.

The file /etc/postfix/sasl_passwd, from which the .db file is gendrated, is supposed to contain gmail.com’s server name and you gmail user name and password.

At one point, something failed…

If you log yourself on your system command line, does /etc/postfix/sasl_passwd exist and contains something similar to

[smtp.gmail.com]:587 @gmail.com:

If it does can you try to do

postmap hash:/etc/postfix/sasl_passwd

and post back the results if it seems to fail (please don’t post any user name or passwords…)

Good luck and have a nice day!

Nick

Hello everyone. I’ll explain how to get your outbound email working with a Google Mail account. NOTE: You can use this process with non-GMail mail servers. You just need to know the TLS port number (e.g. 587) and SMTP address. Everything else should function the same as below.

If you don’t have the paid add-on for email and are willing to edit your PostFix files directly in a terminal, the following will work. You must be logged in as the root user.

Step 1: Append the following to /etc/postfix/main.cf

I have to spell out the first line because this dumb website won’t allow new users to post what it thinks are hyperlinks. It’s a dumb site because it thinks an SMTP address is a web URI.

relayhost = [smtp. < your mail server > ]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

Step 2: Create an SSL cert for GMail.

cat /etc/pki/tls/certs/ca-bundle.crt | tee -a /etc/postfix/cacert.pem

Step 3: Create your password file.

nano /etc/postfix/sasl_passwd

This file needs to reference your email address (login) and password and indicate which mail server it’s for, such as:

[name of your mail server with SMTP. at the front of the domain name]:587 YOUR_EMAIL@:YoUr_Passw0rD

You’ll only have one line in that file for each address/pw combo you want to send the emails from. So, normally this file is just one line. Put a carriage return / EOL at the end of the line.

Step 4: Hash your password file.

postmap /etc/postfix/sasl_passwd

Step 5: Protect the pw file by restricting ownership and read-only access to root.

chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Step 6: Restart Postfix so it will process your changes.

systemctl restart postfix

Step 7: Verify it works. Test.

echo “Test mail from postfix” | mail -s “Hello World” YOUR_EMAIL@DOMAIN

Step 8: Delete your plaintext pw file. You should no longer need it. If in doubt, restart Postfix and run the Hello World test again to verify.

rm /etc/postfix/sasl_passwd

Step 9: Live long and prosper.