I would like to set up postfix relay to my website hosting SMTP server, from my home server. It's Centos 7, set up using dynamic IP and dynamic DNS. Because of limited space in my hosting site, I would like to host my own mailbox, while still using SMTP of the site because of its static IP. I set up my postfix according to this tutorial.

However when I test send email to Gmail, my email is deferred. Where do I set up wrong? I use the email account using Thunderbird and it connects fine (STARTTLS, Normal Password)

warning: SASL authentication failure: No worthy mechs found
Mar 24 11:42:48 server.local postfix/error[4142]: D16F51084542: to=<******@gmail.com>, relay=none, delay=361, delays=361/0.02/0/0.02, dsn=4.7.0, status=deferred (delivery temporarily suspended: SASL authentication failed; cannot authenticate to server mail.myhosting.com[202.52.***.***]: no mechanism available)

Here is my main.cf

smtpd_banner = $myhostname ESMTP $mail_name (CentOS)
biff = no
append_dot_mydomain = no
readme_directory = no
myhostname = mail-example.duckdns.org
mydomain = mail-example.duckdns.org
mynetworks = [::1]/128 [fe80::]/64
relayhost = [mail.myhosting.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
smtp_tls_security_level = encrypt
smtp_generic_maps = hash:/etc/postfix/map/generic_map, regexp:/etc/postfix/map/regex_map
smtpd_client_restrictions = permit_mynetworks, reject
smtpd_restriction_classes = mua_sender_restrictions, mua_client_restrictions, mua_helo_restrictions   
mua_client_restrictions = permit_sasl_authenticated, reject
mua_sender_restrictions = permit_sasl_authenticated, reject
mua_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_invalid_hostname, permit


[mail.myhosting.com]:587       contact@mysite.com:password


/.+@mail-example\.duckdns\.org/   contact@mysite.com

postconf -df | grep sasl

broken_sasl_auth_clients = no
cyrus_sasl_config_path =
lmtp_sasl_auth_cache_name =
lmtp_sasl_auth_cache_time = 90d
lmtp_sasl_auth_enable = no
lmtp_sasl_auth_soft_bounce = yes
lmtp_sasl_mechanism_filter =
lmtp_sasl_password_maps =
lmtp_sasl_path =
lmtp_sasl_security_options = noplaintext, noanonymous
lmtp_sasl_tls_security_options = $lmtp_sasl_security_options
lmtp_sasl_tls_verified_security_options = $lmtp_sasl_tls_security_options
lmtp_sasl_type = cyrus
proxy_write_maps = $smtp_sasl_auth_cache_name $lmtp_sasl_auth_cache_name
send_cyrus_sasl_authzid = no
smtp_sasl_auth_cache_name =
smtp_sasl_auth_cache_time = 90d
smtp_sasl_auth_enable = no
smtp_sasl_auth_soft_bounce = yes
smtp_sasl_mechanism_filter =
smtp_sasl_password_maps =
smtp_sasl_path =
smtp_sasl_security_options = noplaintext, noanonymous
smtp_sasl_tls_security_options = $smtp_sasl_security_options
smtp_sasl_tls_verified_security_options = $smtp_sasl_tls_security_options
smtp_sasl_type = cyrus
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated,
smtpd_sasl_auth_enable = no
smtpd_sasl_authenticated_header = no
smtpd_sasl_exceptions_networks =
smtpd_sasl_local_domain =
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = cyrus

In case you couldn't solve this error yet, my setup is 99% similar to yours except it uses Ubuntu, and I had all configured as per it but just pointing to GMAIL SMTP endpoint.

Do take a look at this thread --> https://www.howtoforge.com/community/threads/solved-problem-with-outgoing-mail-from-server.53920/

It turned out to be a missing library in my Debian setup.

apt install libsasl2-modules

I bet for CentOS or fedora-based systems there must be its equivalent via yum or dnf tools Hope it helps!

  • This will work for Debian-based distributions. The OP is using CentOS. Sep 18 '20 at 21:42
  • 1
    I had to restart postfix after installing libsasl2-modules for it to work
    – ciencia
    Dec 13 '20 at 17:25
  • This worked for me in Pop!_OS 21.04.
    – SaTa
    Jul 31 at 16:45
  • Worked on Raspberry Pi OS (was Raspbian), 10.10. Thank you.
    – giox069
    Sep 5 at 10:13

Install the package cyrus-sasl-plain to provide the SASL PLAIN authentication method.

  • Yes, this is what worked for me!
    – gthuo
    Jun 26 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.