telnet auth step in Troubleshooting Email guide failing

I am working through https://www.linode.com/docs/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/#virtual-domains-and-users

Step 18: See if you can check your email with IMAP or POP3; you can use a mail client or Telnet.

I am attempting to log in with telnet but getting a AUTH error, and can't figure out why.

Here is the Telnet dialogue:

root@adonax:/var/log# telnet adonax.com 110
Trying 2600:3c01::f03c:92ff:fe93:5fa0...
Connected to adonax.com.
Escape character is '^]'.
+OK Dovecot (Ubuntu) ready.
USER phil
+OK
PASS fakepassword
-ERR [AUTH] Authentication failed.

The password as set in /etc/dovecot/users

root@adonax:/etc/dovecot# cat users
phil@adonax.com:{Plain}fakepassword

Here is the mail.log listing of the attempt:
Dec 5 11:10:05 adonax dovecot: pop3-login: Disconnected (auth failed, 1 attempts in 76 secs): user=<phil>, method=PLAIN, rip=2600:3c01::f03c:92ff:fe93:5fa0, lip=2600:3c01::f03c:92ff:fe93:5fa0, secured, session=<7F/DqPmYPt0mADwBAAAAAPA8kv/+k1+g>

I found Step 14 of the guide to confusing and ambiguous. Could it be enhanced with an example? I've tried 3 different forms of the "mail_location" line and none work.

A literal copy:
mail_location = maildir:~ #update mail_location

A version without the tilde:
mail_location = maildir:/var/mail/vhosts/%d/%n/

A version with the tilde:
mail_location = maildir:~/var/mail/vhosts/%d/%n/

Here is the rest of this section (/etc/dovecot/conf.d/10-mail.conf):
passdb { driver = passwd-file args = username_format=%u /etc/dovecot/users } userdb { driver = static args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n }

The file structure for receiving mail is the following:
/var/mail/vhosts/adonax.com/phil/

Within /phil, there are multiple files in a subdirectory /new, one of which corresponds to a test email sent from mail.aol.

As far as I can tell, my settings in /etc/postfix/main.cf match correctly (from Step 7):
mydestination = localhost # Virtual domains virtual_minimum_uid = 100 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 virtual_mailbox_domains = adonax.com, adonax, adonax.adonax.com, localhost.adonax.com virtual_mailbox_base = /var/mail/vhosts virtual_mailbox_maps = hash:/etc/postfix/virtual_users_list

And, /etc/postfix/virtual_users_list
root@adonax:/var/log# cat /etc/postfix/virtual_users_list phil@adonax.com adonax.com/phil/

In case this matters, the mail.log verifies that I can send email from an external site to phil@adonax.com. For example, I sent an email to "phil@adonax.com" from mail.aol, and the mail.log shows the following (passing the test in Step 13):
Dec 5 10:46:22 adonax postfix/virtual[7402]: 1D4D340240: to=<phil@adonax.com>, relay=virtual, delay=0.15, delays=0.14/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)

I could very much use some help as to what check or try next!

One last note: I was previously able to use the mail utility to fetch test emails sent to my ssh login identity. This now gives an error when I try to use it to log in:
fgphil@adonax:/etc/dovecot$ mail Cannot open mailbox /var/mail/fgphil: Permission denied No mail for fgphil
I am assuming this is due to changing the 10-auth.conf from !include auth-system.conf.ext to !include auth-passwdfile.conf.ext in Step 15.

Clip from 10-auth.conf shown here:
#!include auth-system.conf.ext #!include auth-sql.conf.ext #!include auth-ldap.conf.ext !include auth-passwdfile.conf.ext

4 Replies

Some progress made.

When logging in via telnet, I should have used the following:

USER phil@adonax.com

instead of

USER phil

This allowed me into the mail program.

How did I find this out? There is a guide posted by Dovecot for debugging authentication issues here

https://doc.dovecot.org/admin_manual/debugging/debugging_authentication/

In the first paragraph, they recommend making the logging more verbose but don't specify WHERE to make the changes. The edits to logging should happen in /etc/dovecot/conf.d/10-logging.conf

If using the Linode guide: "Troubleshooting Problems with PostFix, Dovecot, and MySQL", the log files are in the file /var/log/mail.log.

Now on to the next step: to figure out why none of the stored emails in /var/mail/vhosts/adonax.com/phil/new are being found.

More progress. Am now able to read the emails using Telnet.

In Step 14 of "Virtual Domains and Users" we are given the line
mail_location = maildir:~ #update mail_location

Given the earlier instructions at the start of the section (bullet point 4), this line would be much more helpful if it were instead:

mail_location = maildir:/var/mail/vhosts/example.com/user/

In trying to interpret this instruction, I mistakenly left the "~" in when entering the address, and spent a great deal of time wondering why emails were not being located. As I was running the tests from root, I somehow ended up with the directory structure /root/var/mail/vhosts/... and of course no email there, as it was being correctly routed to /var/... not ~/var/....

it seems no one answer to this question, even one from Linode supporters.

@philfrei It sounds like you've figured things out! If not, let the Community know, and we can see if we are able to help.

In regards to your clarity request, I have passed this information along to our Documentation team. For future reference, you are empowered to report or edit any issues you may find on Git Hub. There is a link at the top of every guide under the title. It will look like this:

Contribute on GitHub Report an Issue | View File | Edit File

The links will take you to directly to Git pages for the guide you are looking at!

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct