Home / Articles / BSD / FreeBSD / Using Gmail SMTP to send email in FreeBSD by Postfix

Using Gmail SMTP to send email in FreeBSD by Postfix

Using Gmail SMTP to send email in FreeBSD by Postfix
Using Gmail SMTP to send email in FreeBSD by Postfix
  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Rating: 5/5 (1 votes cast)

Thank you for rating!

You have already rated this page, you can only rate it once!

Your rating has been changed, thanks for rating!

Log in or create a user account to rate this page.


This is the best solution for servers where their configuration does not allow you to send emails directly. For example it can be a development server where you develop applications and this server only has Internet connection without white IP-address.

Install Postfix

cd /usr/ports/mail/postfix && make install

Then a config menu appears where you need to choose the following options: PCRE, TLS, SASL2. For dependent packages you may leave default config options.

But, be attentive at the end of installation, the installer will ask you:

Would you like to activate Postfix in /etc/mail/mailer.conf [n]

You have to answer "y".

To enable postfix startup script please add this line to /etc/rc.conf:

postfix_enable="YES"

Disable default sendmail

Then turn off sendmail by adding lines in /etc/rc.conf:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

And you should also disable some sendmail specific daily maintenance routines in your
/etc/periodic.conf file:

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

If /etc/periodic.conf does not exist please create it and add those values.

Configure Postfix

Add the following lines to the end of /usr/local/etc/postfix/main.cf file:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_use_tls = yes

Create a file /usr/local/etc/postfix/sasl_passwd by command:

cd /usr/local/etc/postfix
touch sasl_passwd
chmod 400 sasl_passwd

Add the following line to the end of /usr/local/etc/postfix/sasl_passwd file:

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

Where:

  • "yourmail@gmail.com" is your Gmail account
  • "password" is password for your Gmail account

Then reboot system:

reboot

Now, hash the password by the following commands:

cd /usr/local/etc/postfix
postmap sasl_passwd

Move all root's emails to email address, add this line to file /etc/mail/aliases:

root:    adminmail@gmail.com

Where: "adminmail@gmail.com" is an email address of server admin (perhaps yours).

Create a forwarding database from /etc/aliases by command:

newaliases

To check if a redirect works, run command:

postmap -q root hash:/etc/aliases

And then you have to see the email address of server admin like this: "adminmail@gmail.com".

Test email for sending

Create a txt file "youtestmessage.txt" with the following text:

To: yourmail@gmail.com
From: yourmail@gmail.com
Subject: Testmessage
This is a test for sending

Where "yourmail@gmail.com" is your current or second email to get test email and make sure that Postfix sends the email. And run command:

sendmail yourmail@gmail.com < youtestmessage.txt

After this you have to get email on yourmail@gmail.com, and it means that it work correctly.

The last step is the sending emails for root. This is very important because FreeBSD daily sends reports about system to root's email. So run, the following command to check it:

sendmail -bv root

After this you have to get the email on "adminmail@gmail.com".

In addition

Gmail has one specific thing which has been described in previous article.



Read also

Install MySQL server on FreeBSD

Install MySQL server on FreeBSD

Install Apache in FreeBSD

Install Apache in FreeBSD

Log in or create a user account to post a comment.

easyos.net
117217982212577402640

Quick navigation

General navigation