Author Topic: Mailgun SMTP for Postfix  (Read 663 times)

0 Members and 1 Guest are viewing this topic.

Offline
*
Mailgun SMTP for Postfix
« on: April 12, 2020, 10:55:29 AM »
Hi,

Im trying to use mailgun as SMTP for the postfix email server. So that any user email will be sent via Mailgun SMTP.

But I cannot get it working.

I followed the guide here
https://documentation.mailgun.com/en/latest/user_manual.html#smtp-relay


Some of the lines are already in the original main.cf config as default installation of CWP.
But I cannot get it working

I instantly see error SMTP Error (250): Authentication failed when I hit send.

Some config shows normal behavior. But I receive bounce email and the message is
Remote-MTA: dns; smtp.mailgun.org
Diagnostic-Code: smtp; 550 5.7.1 Relaying denied


Here is my config.


Code: [Select]
# postfix config file

# uncomment for debugging if needed
#soft_bounce=yes

# postfix main
mail_owner = postfix
setgid_group = postdrop
delay_warning_time = 4

# postfix paths
html_directory = no
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
queue_directory = /var/spool/postfix
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man

# network settings
inet_interfaces = all
mydomain = yourdomain.com
myhostname = "my.actualhostname.com"
mynetworks = $config_directory/mynetworks
mydestination = $myhostname =  "my.actualhostname.com"
relay_domains = proxy:mysql:/etc/postfix/mysql-relay_domains_maps.cf

# mail delivery
recipient_delimiter = +

# mappings
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
transport_maps = hash:/etc/postfix/transport
#local_recipient_maps =

# virtual setup
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_alias_default_maps.cf, proxy:mysql:/etc/postfix/mysql-virtual_alias_maps.cf, regexp                                                                                              :/etc/postfix/virtual_regexp
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/mysql-virtual_alias_pipe_maps.cf
virtual_minimum_uid = 101
virtual_uid_maps = static:101
virtual_gid_maps = static:12
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

# debugging
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
                 xxgdb $daemon_directory/$process_name $process_id & sleep 5

relayhost = [smtp.mailgun.org]:587
smtp_sasl_password_maps = static:mailgun@user.com:mysmtppassword

# authentication
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname =  "my.actualhostname.com"
broken_sasl_auth_clients = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

# tls config
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
# Change mail.example.com.* to your host name
smtpd_tls_key_file = /etc/pki/tls/private/hostname.key
smtpd_tls_cert_file = /etc/pki/tls/certs/hostname.bundle
smtpd_tls_CApath = /etc/ssl/certs

# rules restrictions
smtpd_client_restrictions =
smtpd_helo_restrictions =
smtpd_sender_restrictions =
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_non_fqdn_sender, reject_non_fqdn                                                                                              _recipient, reject_unknown_recipient_domain
# uncomment for realtime black list checks
# ,reject_rbl_client zen.spamhaus.org
# ,reject_rbl_client bl.spamcop.net
# ,reject_rbl_client dnsbl.sorbs.net
smtpd_helo_required = yes
unknown_local_recipient_reject_code = 550
disable_vrfy_command = yes
smtpd_data_restrictions = reject_unauth_pipelining

# Other options
# email size limit ~20Meg
message_size_limit = 204800000
mailbox_size_limit = 2048000000

# Vacation Scripts
vacation_destination_recipient_limit = 1
recipient_bcc_maps = proxy:mysql:/etc/postfix/mysql-virtual_vacation.cf

Offline
*
Re: Mailgun SMTP for Postfix
« Reply #1 on: April 19, 2020, 12:41:43 PM »
Who is the server provider? google cloud?

Offline
*
Re: Mailgun SMTP for Postfix
« Reply #2 on: April 19, 2020, 01:03:35 PM »
try checking if you have added only this
http://wiki.centos-webpanel.com/how-to-setup-remote-smtp-server-as-relay

don't forget that you need to add to mynetworks remote ip's
VPS & Dedicated server provider with included FREE Managed support for CWP.
http://www.studio4host.com/

*** Don't allow that your server or website is down, choose hosting provider with included expert managed support for your CWP.

Offline
*
Re: Mailgun SMTP for Postfix
« Reply #3 on: May 09, 2020, 05:14:00 AM »
Hi All,

Thank you for your replies.

The provider was Vultr. And issue was the same with Upcloud and AWS.


Mailgun uses cyrus-sasl-plain.

By default, these are the only installed only

When you search for sasl

Code: [Select]
rpm -qa|grep sasl
cyrus-sasl-sql-2.1.26-23.el7.x86_64
cyrus-sasl-2.1.26-23.el7.x86_64
cyrus-sasl-devel-2.1.26-23.el7.x86_64
cyrus-sasl-lib-2.1.26-23.el7.x86_64

To fix

Code: [Select]
yum install cyrus-sasl-plain