Results 1 to 9 of 9

Thread: Users can't login to collect email.

  1. #1
    Join Date
    Sep 2006
    Posts
    17

    Users can't login to collect email.

    I have a brand new server with DirectAdmin and Dovecot installed.

    I have created a couple of email accounts and they are receiving email from SMTP fine. When you attempt to login to collect the email you get the following errors in the maillog:

    Code:
    Jun 20 04:35:39 nostromo dovecot[18198]: auth(default): passwd(mark@pcwitchdoctor.com.au,123.243.220.168): unknown user
    Jun 20 04:35:39 nostromo dovecot[18198]: User mark@pcwitchdoctor.com.au is missing UID (see mail_uid setting)
    Jun 20 04:35:39 nostromo dovecot[18198]: pop3-login: Internal login failure (auth failed, 1 attempts): user=<mark@pcwitchdoctor.com.au>, method=PLAIN, rip=123.243.220.168, lip=67.148.94.78
    Jun 20 04:35:39 nostromo dovecot[18198]: auth(default): shadow(mark@pcwitchdoctor.com,123.243.220.168): unknown user
    Jun 20 04:35:39 nostromo dovecot[18198]: auth(default): passwd-file /etc/virtual/pcwitchdoctor.com/passwd: User mark is missing userdb info
    I have tried the suggestions in these posts:

    http://www.directadmin.com/forum/sho...+login+failure

    and this post:
    http://directadmin.com/forum/showthr...ht=missing+UID

    neither of which has helped.

    My DirectAdmin conf:

    Code:
    #panel config file
    port=2222
    numservers=5
    timeout=60
    session_minutes=60
    maxfilesize=10485760
    servername=nostromo.pcwitchdoctor.com
    ns1=ns1.pcwitchdoctor.com
    ns2=ns2.pcwitchdoctor.com
    
    #many directories use ./ local path because of chroot.
    serverpath=/usr/local/directadmin
    admindir=./data/admin
    logdir=/var/log/directadmin
    logger=/usr/local/directadmin/logger
    loghostname=0
    docsroot=./data/skins/enhanced
    demodocsroot=./data/skins/enhanced
    skinsdir=./data/skins
    userdata=./data/users
    ticketsdir=/usr/local/directadmin/data/tickets
    license=/usr/local/directadmin/conf/license.key
    templates=/usr/local/directadmin/data/templates
    
    taskqueue=/usr/local/directadmin/data/task.queue
    
    apachelogdir=/var/log/httpd/domains
    apacheconf=/etc/httpd/conf/extra/directadmin-vhosts.conf
    apacheips=/etc/httpd/conf/ips.conf
    apachemimetypes=/etc/mime.types
    apachecert=/etc/httpd/conf/ssl.crt/server.crt
    apachekey=/etc/httpd/conf/ssl.key/server.key
    apache_public_html=0
    
    owsadm=/usr/local/frontpage/version5.0/bin/owsadm.exe
    
    sshdconfig=/etc/ssh/sshd_config
    
    ftpconfig=/etc/proftpd.conf
    ftpvhosts=/etc/proftpd.vhosts.conf
    ftppasswd=/etc/proftpd.passwd
    
    namedconfig=/etc/named.conf
    nameddir=/var/named
    
    addip=/usr/local/directadmin/scripts/addip
    removeip=/usr/local/directadmin/scripts/removeip
    
    emailvirtual=/etc/virtual
    emailspoolvirtual=/var/spool/virtual
    
    user_helper=www.site-helper.com
    reseller_helper=reseller.site-helper.com
    admin_helper=admin.site-helper.com
    
    mysqlconf=/usr/local/directadmin/conf/mysql.conf
    
    SSL=0
    cacert=/usr/local/directadmin/conf/cacert.pem
    cakey=/usr/local/directadmin/conf/cakey.pem
    
    tmpdir=../../../home/tmp
    max_username_length=10
    login_history=10
    log_rotate_size=5
    
    ethernet_dev=venet0:0
    quota_partition=/
    frontpage_on=0
    apache_ver=2.0
    dovecot=1
    My Dovecot conf:

    Code:
    ## Dovecot 1.1 configuration file
    
    protocols = imap imaps pop3 pop3s
    
    #ssl_cert_file = /etc/exim.cert
    #ssl_key_file =  /etc/exim.key
    ssl_cert_file = /etc/httpd/conf/ssl.crt/server.crt
    ssl_key_file = /etc/httpd/conf/ssl.key/server.key
    
    
    disable_plaintext_auth = no
    
    ##
    ## Login processes
    ##
    
    #login_chroot = yes
    
    login_user = dovecot
    login_processes_count = 16
    
    login_greeting = Dovecot DA ready.
    
    ##
    ## Mail processes
    ##
    
    verbose_proctitle = yes
    
    first_valid_uid = 500
    last_valid_uid = 0
    
    
    mail_access_groups = mail
    
    #mail_debug = no
    
    #mail_location = maildir:~/Maildir
    mail_location = maildir:~/Maildir
    
    # Like mailbox_check_interval, but used for IDLE command.
    #mailbox_idle_check_interval = 30
    
    # Copy mail to another folders using hard links. This is much faster than
    # actually copying the file. This is problematic only if something modifies
    # the mail in one folder but doesn't want it modified in the others. I don't
    # know any MUA which would modify mail files directly. IMAP protocol also
    # requires that the mails don't change, so it would be problematic in any case.
    # If you care about performance, enable it.
    #maildir_copy_with_hardlinks = no
    
    # umask to use for mail files and directories
    umask = 0007
    
    # Set max. process size in megabytes. Most of the memory goes to mmap()ing
    # files, so it shouldn't harm much even if this limit is set pretty high.
    #mail_process_size = 256
    
    # Log prefix for mail processes. See doc/variables.txt for list of possible
    # variables you can use.
    #mail_log_prefix = "%Us(%u): "
    
    ##
    ## IMAP specific settings
    ##
    
    protocol imap {
    
      # Maximum IMAP command line length in bytes. Some clients generate very long
      # command lines with huge mailboxes, so you may need to raise this if you get
      # "Too long argument" or "IMAP command line too large" errors often.
      #imap_max_line_length = 65536
    
      # Send IMAP capabilities in greeting message. This makes it unnecessary for
      # clients to request it with CAPABILITY command, so it saves one round-trip.
      # Many clients however don't understand it and ask the CAPABILITY anyway.
      #login_greeting_capability = no
    
      # Workarounds for various client bugs:
      #   delay-newmail:
      #     Send EXISTS/RECENT new mail notifications only when replying to NOOP
      #     and CHECK commands. Some clients ignore them otherwise, for example
      #     OSX Mail. Outlook Express breaks more badly though, without this it
      #     may show user "Message no longer in server" errors. Note that OE6 still
      #     breaks even with this workaround if synchronization is set to
      #     "Headers Only".
      #   outlook-idle:
      #     Outlook and Outlook Express never abort IDLE command, so if no mail
      #     arrives in half a hour, Dovecot closes the connection. This is still
      #     fine, except Outlook doesn't connect back so you don't see if new mail
      #     arrives.
      #   netscape-eoh:
      #     Netscape 4.x breaks if message headers don't end with the empty "end of
      #     headers" line. Normally all messages have this, but setting this
      #     workaround makes sure that Netscape never breaks by adding the line if
      #     it doesn't exist. This is done only for FETCH BODY[HEADER.FIELDS..]
      #     commands. Note that RFC says this shouldn't be done.
      #   tb-extra-mailbox-sep:
      #     With mbox storage a mailbox can contain either mails or submailboxes,
      #     but not both. Thunderbird separates these two by forcing server to
      #     accept '/' suffix in mailbox names in subscriptions list.
      #imap_client_workarounds = outlook-idle
    }
    
    ##
    ## POP3 specific settings
    ##
    
    protocol pop3 {
    
      # Don't try to set mails non-recent or seen with POP3 sessions. This is
      # mostly intended to reduce disk I/O. With maildir it doesn't move files
      # from new/ to cur/, with mbox it doesn't write Status-header.
      #pop3_no_flag_updates = no
    
      # Support LAST command which exists in old POP3 specs, but has been removed
      # from new ones. Some clients still wish to use this though. Enabling this
      # makes RSET command clear all \Seen flags from messages.
      #pop3_enable_last = no
    The server has been restated a number of times.

    The dovecot=1 setting what already present, I did not have to add it.
    Last edited by pcwitchdoctor; 06-22-2009 at 07:31 AM. Reason: fixed links

  2. #2
    Join Date
    Jun 2009
    Posts
    557
    More then likely you are not using an exim.conf that is compatable with dovecot.

    cd /usr/local/directadmin/custombuild
    ./build update
    ./build dovecot y
    ./build todovecot

  3. #3
    Join Date
    Sep 2006
    Posts
    17
    Quote Originally Posted by mr.applesauce View Post
    More then likely you are not using an exim.conf that is compatable with dovecot.
    My exim conf:

    Code:
    ######################################################################
    #                 SpamBlocker.exim.conf.2.0-release                  #
    #   Runtime configuration file for DirectAdmin/Exim 4.24 and above   #
    ######### IMPORTANT ########## IMPORTANT ########## IMPORTANT ########
    # WARNING! Be sure to back up your previous exim.conf file before    #
    # attempting to use this exim.conf file.                             #
    #                                                                    #
    # Do may not use this exim.conf Exim configuration file unless you   #
    # make the required modifications to your Exim configuration         #
    # following the instructions in the README file included in this     #
    # distribution.                                                      #
    #                                                                    #
    # This is version "2.0 of the SpamBlocker exim.conf file as          #
    # distributed by NoBaloney Internet Services for DirectAdmin based   #
    # servers.                                                           #
    #                                                                    #
    # More information about NoBaloney.net may be found at:              #
    #  http://www.nobaloney.net/                                         #
    #                                                                    #
    # More information about DirectAdmin may be found at:                #
    #  http://www.directadmin.com/                                       #
    #                                                                    #
    # This Exim configuration file has been modified from the original   #
    # as distributed with Exim 4.  The modifications have been made by:  #
    #                                                                    #
    # Jeff Lasman                                                        #
    # NoBaloney Internet Services                                        #
    # 1254 So. Waterman Ave., Suite 50                                   #
    # San Bernardino, CA  92408                                          #
    # spamblocker@nobaloney.net                                          #
    # (909) 266-9209                                                     #
    #                                                                    #
    # The SpamBlocker exim.conf file has been modified from the original #
    # exim.conf file as distributed with Exim 4, which includes the      #
    # following copyright notice:                                        #
    #                                                                    #
    # Copyright (C) 2002 University of Cambridge, Cambridge, UK          #
    #                                                                    #
    # Portions of the file are taken from the exim.conf file as          #
    # distributed with DirectAdmin (http://www.directadmin.com/),        #
    #                                                                    #
    # Copyright (C) 2003 JBMC Software, St Albert, AB, Canada            #
    #                                                                    #
    # Portions of this file are written by Jeff Lasman, of               #
    # NoBaloney Internet Services and are copyright as follows:          #
    #                                                                    #
    # Copyright (C) 2004-2005 NoBaloney Internet Services,               #
    # San Bernardino, Calif., USA                                        #
    #                                                                    #
    # The entire Exim 4 distribution, including the exim.conf file, is   #
    # distributed under the GNU GENERAL PUBLIC LICENSE, Version 2,       #
    # June 1991. If you do not have a copy of the GNU GENERAL            #
    # PUBLIC LICENSE you may download it, in it's entirety, from         #
    # the website at:                                                    #
    #                                                                    #
    # http://www.nobaloney.net/exim/gnu-gpl-v2.txt                       #
    #                                                                    #
    ######################################################################
    #                                                                    #
    # The most recent version of this SpamBlocker exim.conf file may     #
    # always downloaded from the website at                              #
    #                                                                    #
    # http://www.nobaloney.net/exim/exim.conf.spamblocked                #
    #                                                                    #
    ######### IMPORTANT ########## IMPORTANT ########## IMPORTANT ########
    #                                                                    #
    # Whenever you change Exim's configuration file, you *must* remember #
    # to HUP the Exim daemon, because it will not pick up the new        #
    # configuration until you do. However, any other Exim processes that #
    # are started, for example, a process started by an MUA in order to  #
    # send a message, will see the new configuration as soon as it is in #
    # place.                                                             #
    #                                                                    #
    # You do not need to HUP the daemon for changes in auxiliary files   #
    # that are referenced from this file. They are read every time they  #
    # are used.                                                          #
    #                                                                    #
    # It is usually a good idea to test a new configuration for          #
    # syntactic correctness before installing it (for example, by        #
    # running the command "exim -C /config/file.new -bV").               #
    #                                                                    #
    ### MODIFICATION INSTRUCTIONS ########## MODIFICATION INSTRUCTIONS ###
    #                                                                    #
    # YOU MUST MAKE THE CHANGES TO THIS SpamBlocked exim.conf file as    #
    # documented in the README file.                                     #
    #                                                                    #
    # The README file for this version is named:                         #
    # README.SpamBlocker.exim.conf.2.0                                   #
    #                                                                    #
    ######################################################################
    
    # Specify your host's canonical name here. This should normally be the
    # fully qualified "official" name of your host. If this option is not
    # set, the uname() function is called to obtain the name. In many cases
    # this does the right thing and you need not set anything explicitly.
    
    # primary_hostname =
    
    # Specify the domain you want to be added to all unqualified addresses
    # here. An unqualified address is one that does not contain an "@" character
    # followed by a domain. For example, "caesar@rome.ex" is a fully qualified
    # address, but the string "caesar" (i.e. just a login name) is an unqualified
    # email address. Unqualified addresses are accepted only from local callers by
    # default. See the receiver_unqualified_{hosts,nets} options if you want
    # to permit unqualified addresses from remote sources. If this option is
    # not set, the primary_hostname value is used for qualification.
    
    # qualify_domain =
    
    # If you want unqualified recipient addresses to be qualified with a different
    # domain to unqualified sender addresses, specify the recipient domain here.
    # If this option is not set, the qualify_domain value is used.
    
    # qualify_recipient =
    
    # the next line is required to start the smtp auth script included
    # in DirectAdmin
    
    perl_startup = do '/etc/exim.pl'
    
    # the next line is required to start the system_filter included in
    # DirectAdmin to refuse potentiallly harmful payloads in
    # email messages
    
    system_filter = /etc/system_filter.exim
    
    # next line to allow incoming email submission port 587
    # see also check_recipient second ruleset
    
    daemon_smtp_ports = 25 : 587
    
    # SET SOME MEANINGFUL LIMITS
    # OPTIONAL MODIFICATIONS:
    #  These defaults work for us; you may wish to modify them
    #  for your environment
    
    message_size_limit = 20M
    smtp_receive_timeout = 5m
    smtp_accept_max = 100
    message_body_visible = 3000
    print_topbitchars = true
    
    # ALLOW UNDERSCORE IN EMAIL DOMAIN NAME
    # domains shouldn't use the underscore character "_" but some
    # may.  Because John Postel, one of the architects of the Internet,
    # said "Be liberal in what you accept and conservative in what you
    # transmit, we choose to allow underscore in email domain names so we
    # can receive email form domains which use the underscore character
    # in their domain name.
    # OPTIONAL MODIFICATIONS:
    #  These defaults work for us; you may wish to modify them
    #  for your environment
    
    helo_allow_chars = _
    
    # CHANGE LOGGING BEHAVIOR
    # We weren't happy with the default Exim logging behavior through
    # syslog; it didn't give us enough information.  So we turned off
    # syslog behavior and changed the logging behavior to give us what we
    # felt was more helpful information.  You may choose to delete or modify
    # this section.
    # OPTIONAL MODIFICATIONS:
    #  These defaults work for us; you may wish to modify them
    #  for your environment
    
    log_selector = \
      +delivery_size \
      +sender_on_delivery \
      +received_recipients \
      +received_sender \
      +smtp_confirmation \
      +subject \
      +smtp_incomplete_transaction \
      -dnslist_defer \
      -host_lookup_failed \
      -queue_run \
      -rejected_header \
      -retry_defer \
      -skip_delivery
    
    syslog_duplication = false
    
    # These options specify the Access Control Lists (ACLs) that
    # are used for incoming SMTP messages - after the RCPT and DATA
    # commands, respectively.
    
    acl_smtp_rcpt = check_recipient
    acl_smtp_data = check_message
    
    # define local lists
    
    addresslist whitelist_senders = lsearch;/etc/virtual/whitelist_senders
    addresslist blacklist_senders = lsearch;/etc/virtual/blacklist_senders
    domainlist blacklist_domains = lsearch;/etc/virtual/blacklist_domains
    domainlist whitelist_domains = lsearch;/etc/virtual/whitelist_domains
    domainlist local_domains = lsearch;/etc/virtual/domains
    domainlist relay_domains = lsearch;/etc/virtual/domains : localhost
    domainlist use_rbl_domains = lsearch;/etc/virtual/use_rbl_domains
    hostlist auth_relay_hosts = *
    hostlist bad_sender_hosts = lsearch;/etc/virtual/bad_sender_hosts
    hostlist bad_sender_hosts_ip = net-lsearch;/etc/virtual/bad_sender_hosts
    hostlist relay_hosts = net-lsearch;/etc/virtual/pophosts : 127.0.0.1
    hostlist whitelist_hosts = lsearch;/etc/virtual/whitelist_hosts
    hostlist whitelist_hosts_ip = net-lsearch;/etc/virtual/whitelist_hosts
    
    # If you want to accept mail addressed to your host's literal IP address, for
    # example, mail addressed to "user@[111.111.111.111]", then uncomment the
    # following line, or supply the literal domain(s) as part of "local_domains"
    # above. You also need to comment "forbid_domain_literals" below. This is not
    # recommended for today's Internet.
    
    # DO NOT ALLOW HOST LITERALS
    # OPTIONAL MODIFICATIONS:
    #  These defaults work for us; you may wish to uncomment the line 
    #  below and change the allow_domain_literals line below to true
    #  to allow domain literals in your environment
    
    # local_domains_include_host_literals
    
    # The following line prevents Exim from recognizing addresses of the form
    # "user@[111.111.111.111]" that is, with a "domain literal" (an IP address)
    # instead of a named domain. The RFCs still require this form, but it makes
    # little sense to permit mail to be sent to specific hosts by their IP address
    # in the modern Internet, and this ancient format has been used by those
    # seeking to abuse hosts by using them for unwanted relaying. If you really
    # do want to support domain literals, remove the following line, and see
    # also the "domain_literal" router below.
    
    allow_domain_literals = false
    
    # No local deliveries will ever be run under the uids of these users (a colon-
    # separated list). An attempt to do so gets changed so that it runs under the
    # uid of "nobody" instead. This is a paranoic safety catch. Note the default
    # setting means you cannot deliver mail addressed to root as if it were a
    # normal user. This isn't usually a problem, as most sites have an alias for
    # root that redirects such mail to a human administrator.
    
    never_users = root
    
    # DO HOST LOOKUP
    # OPTIONAL MODIFICATIONS:
    # The setting below causes Exim to do a reverse DNS lookup on all incoming
    # IP calls, in order to get the true host name. If you feel this is too
    # expensive, you can specify the networks for which a lookup is done, or
    # remove the setting entirely.
    
    host_lookup = *
    
    # DISALLOW IDENT CALLBACKS
    # OPTIONAL MODIFICATIONS:
    # Exim may be set to make RFC 1413 (ident) callbacks for all incoming SMTP
    # calls. You can limit the hosts to which these calls are made, and/or change
    # the timeout that is used. If you set the timeout to zero, all RFC 1413 calls
    # are disabled. RFC 1413 calls are cheap and can provide useful information
    # for tracing problem messages, but some hosts and firewalls have problems
    # with them. This can result in a timeout instead of an immediate refused
    # connection, leading to delays on starting up an SMTP session.  By default
    # we disable callbacks for incoming SMTP calls.  You may change
    # rfc1413_query_timeout to 30s or some other positive number of seconds to
    # enable callbacks for incoming SMTP calls.
    
    rfc1413_hosts = *
    rfc1413_query_timeout = 0s
    
    # BOUNCE MESSAGES
    # OPTIONAL MODIFICATIONS:
    # When Exim can neither deliver a message nor return it to sender, it
    # "freezes" the delivery error message (aka "bounce message"). There are also
    # other circumstances in which messages get frozen. They will stay on the
    # queue forever unless one or both of the following options is set.
    
    # This option unfreezes bounce messages after two days, tries
    # once more to deliver them, and ignores any delivery failures.
    
    ignore_bounce_errors_after = 2d
    
    # This option cancels (removes) frozen messages that are older than five days.
    
    timeout_frozen_after = 5d
    
    # TRUSTED USERS
    # OPTIONAL MODIFICATIONS:
    # if you must add additional trusted users, do so here; continue the
    # colon-delimited list
    
    trusted_users = mail:majordomo:apache:diradmin
    
    # SSL/TLS cert and key
    tls_certificate = /etc/exim.cert
    tls_privatekey = /etc/exim.key
    
    tls_advertise_hosts = *
    #auth_over_tls_hosts = *
    
    ######################################################################
    #                               ACLs                                 #
    ######################################################################
    
    begin acl
    
    # ACL that is used after the RCPT command
    check_recipient:
    
    # to block certain wellknown exploits, Deny for local domains if
    # local parts begin with a dot or contain @ % ! / |
      deny  domains       = +local_domains
            local_parts   = ^[.] : ^.*[@%!/|]
    
    # to restrict port 587 to authenticated users only
    # see also daemon_smtp_ports above
    accept  hosts = +auth_relay_hosts
            condition = ${if eq {$interface_port}{587} {yes}{no}}
            endpass
            message = relay not permitted, authentication required
            authenticated = *
    
    # allow local users to send outgoing messages using slashes
    # and vertical bars in their local parts.
    # Block outgoing local parts that begin with a dot, slash, or vertical
    # bar but allows them within the local part.
    # The sequence \..\ is barred. The usage of @ % and ! is barred as
    # before. The motivation is to prevent your users (or their virii)
    # from mounting certain kinds of attacks on remote sites.
      deny  domains       = !+local_domains
            local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
    
    # local source whitelist
    # accept if the source is local SMTP (i.e. not over TCP/IP).
    # Test for this by testing for an empty sending host field.
      accept  hosts = :
    
    # sender domains whitelist
    # accept if sender domain is in whitelist
      accept  sender_domains = +whitelist_domains
    
    # sender hosts whitelist
    # accept if sender host is in whitelist
      accept  hosts = +whitelist_hosts
      accept  hosts = +whitelist_hosts_ip
    
    # envelope senders whitelist
    # accept if envelope sender is in whitelist
      accept  senders = +whitelist_senders
    
    # accept mail to postmaster in any local domain, regardless of source
      accept  local_parts = postmaster
              domains     = +local_domains
    
    # accept mail to abuse in any local domain, regardless of source
      accept  local_parts = abuse
              domains     = +local_domains
    
    # accept mail to hostmaster in any local domain, regardless of source
      accept  local_parts = hostmaster
              domains     =+local_domains
    
    # OPTIONAL MODIFICATIONS:
    # If the page you're using to notify senders of blocked email of how
    # to get their address unblocked will use a web form to send you email so
    # you'll know to unblock those senders, then you may leave these lines
    # commented out.  However, if you'll be telling your senders of blocked
    # email to send an email to errors@yourdomain.com, then you should
    # replace "errors" with the left side of the email address you'll be
    # using, and "example.com" with the right side of the email address and
    # then uncomment the second two lines, leaving the first one commented.
    # Doing this will mean anyone can send email to this specific address,
    # even if they're at a blocked domain, and even if your domain is using
    # blocklists.
    
    # accept mail to errors@example.com, regardless of source
    #   accept  local_parts = errors
    #           domains     = example.com
    
    # deny so-called "legal" spammers"
      deny message = Email blocked by LBL - to unblock see your Administrator or ISP.
           # only for domains that do want to be tested against RBLs
           domains = +use_rbl_domains
           sender_domains = +blacklist_domains
    
    # deny using hostname in bad_sender_hosts blacklist
      deny message = Email blocked by BSHL - to unblock see your Administrator or ISP.
           # only for domains that do want to be tested against RBLs
           domains = +use_rbl_domains
           hosts = +bad_sender_hosts
    
    # deny using IP in bad_sender_hosts blacklist
      deny message = Email blocked by BSHL - to unblock see your Administrator or ISP.
           # only for domains that do want to be tested against RBLs
           domains = +use_rbl_domains
           hosts = +bad_sender_hosts_ip
    
    # deny using email address in blacklist_senders
      deny message = Email blocked by BSAL - to unblock see your Administrator or ISP.
      domains = use_rbl_domains
      deny senders = +blacklist_senders
    
    # By default we do NOT require sender verification.
    # Sender verification denies unless sender address can be verified:
    # If you want to require sender verification, i.e., that the sending
    # address is routable and mail can be delivered to it, then
    # uncomment the next line. If you do not want to require sender
    # verification, leave the line commented out
    
    #require verify = sender
    
    #  deny using .spamhaus
      deny message = Email blocked by SPAMHAUS - to unblock see your Administrator or ISP.
           # only for domains that do want to be tested against RBLs
           domains = +use_rbl_domains
           dnslists = sbl.spamhaus.org
    
    # deny using ordb
    #  deny message = Email blocked by ORDB - to unblock see your Administrator or ISP.
    #       # only for domains that do want to be tested against RBLs
    #       domains = +use_rbl_domains
    #       dnslists = relays.ordb.org
    
    #  deny using sorbs smtp list
      deny message = Email blocked by SORBS - to see your Administrator or ISP.
           # only for domains that do want to be tested against RBLs
           domains = +use_rbl_domains
           dnslists = dnsbl.sorbs.net=127.0.0.5
    
    # Next deny stuff from more "fuzzy" blacklists
    # but do bypass all checking for whitelisted host names
    # and for authenticated users
    
    #  deny using spamcop
      deny message = Email blocked by SPAMCOP - to unblock see your Administrator or ISP.
           hosts = !+relay_hosts
           domains = +use_rbl_domains
           !authenticated = *
           dnslists = bl.spamcop.net
    
    #  deny using njabl
      deny message = Email blocked by NJABL - to see your Administrator or ISP.
           hosts = !+relay_hosts
           domains = +use_rbl_domains
           !authenticated = *
           dnslists = dnsbl.njabl.org
    
    #  deny using cbl
      deny message = Email blocked by CBL - to unblock see your Administrator or ISP.
           hosts = !+relay_hosts
           domains = +use_rbl_domains
           !authenticated = *
           dnslists = cbl.abuseat.org
    
    #  deny using all other sorbs ip-based blocklist besides smtp list
      deny message = Email blocked by SORBS - to unblock see your Administrator or ISP.
           hosts = !+relay_hosts
           domains = +use_rbl_domains
           !authenticated = *
           dnslists = dnsbl.sorbs.net!=127.0.0.6
    
    #  deny using sorbs name based list
      deny message = Email blocked by SORBS - to unblock see your Administrator or ISP.
           domains =+use_rbl_domains
           # rhsbl list is name based
           dnslists = rhsbl.sorbs.net/$sender_address_domain
    
    # accept if address is in a local domain as long as recipient can be verified
      accept  domains = +local_domains
              endpass
    	  message = "Unknown User"
              verify = recipient
    
    # accept if address is in a domain for which we relay as long as recipient
    # can be verified
      accept  domains = +relay_domains
              endpass
              verify=recipient
    
    # accept if message comes for a host for which we are an outgoing relay
    # recipient verification is omitted because many MUA clients don't cope
    # well with SMTP error responses. If you are actually relaying from MTAs
    # then you should probably add recipient verify here
    
      accept  hosts = +relay_hosts
      accept  hosts = +auth_relay_hosts
              endpass
              message = authentication required
              authenticated = *
      deny    message = relay not permitted
    
    # default at end of acl causes a "deny", but line below will give
    # an explicit error message:
      deny    message = relay not permitted
    
    # ACL that is used after the DATA command
    check_message:
      accept
    
    ######################################################################
    #                   AUTHENTICATION CONFIGURATION                     #
    ######################################################################
    
    # There are no authenticator specifications in this default configuration file.
    
    begin authenticators
    
    plain:
        driver = plaintext
        public_name = PLAIN
        server_prompts = :
        server_condition = "${perl{smtpauth}}"
        server_set_id = $2
    
    login:
        driver = plaintext
        public_name = LOGIN
        server_prompts = "Username:: : Password::"
        server_condition = "${perl{smtpauth}}"
        server_set_id = $1
    
    
    ######################################################################
    #                      REWRITE CONFIGURATION                         #
    ######################################################################
    
    # There are no rewriting specifications in this default configuration file.
    
    ######################################################################
    #                      ROUTERS CONFIGURATION                         #
    #            Specifies how remote addresses are handled              #
    ######################################################################
    #                          ORDER DOES MATTER                         #
    #  A remote address is passed to each in turn until it is accepted.  #
    ######################################################################
    
    begin routers
    
    # Remote addresses are those with a domain that does not match any item
    # in the "local_domains" setting above.
    
    # This router routes to remote hosts over SMTP using a DNS lookup. Any domain
    # that resolves to an IP address on the loopback interface (127.0.0.0/8) is
    # treated as if it had no DNS entry.
    
    lookuphost:
      driver = dnslookup
      domains = ! +local_domains
      ignore_target_hosts = 127.0.0.0/8
      condition = "${perl{check_limits}}"
      transport = remote_smtp
      no_more
    
    # This router routes to remote hosts over SMTP by explicit IP address,
    # when an email address is given in "domain literal" form, for example,
    # <user@[192.168.35.64]>. The RFCs require this facility. However, it is
    # little-known these days, and has been exploited by evil people seeking
    # to abuse SMTP relays. Consequently it is commented out in the default
    # configuration. If you uncomment this router, you also need to comment out
    # "forbid_domain_literals" above, so that Exim can recognize the syntax of
    # domain literal addresses.
    
    # domain_literal:
    #   driver = ipliteral
    #   transport = remote_smtp
    
    ######################################################################
    #                      DIRECTORS CONFIGURATION                       #
    #             Specifies how local addresses are handled              #
    ######################################################################
    #                          ORDER DOES MATTER                         #
    #   A local address is passed to each in turn until it is accepted.  #
    ######################################################################
    
    # Local addresses are those with a domain that matches some item in the
    # "local_domains" setting above, or those which are passed back from the
    # routers because of a "self=local" setting (not used in this configuration).
    
    # Spam Assassin
    #spamcheck_director:
    #  driver = accept
    #  condition = "${if and { \
    #			{!def:h_X-Spam-Flag:} \
    #			{!eq {$received_protocol}{spam-scanned}} \
    #			{!eq {$received_protocol}{local}} \
    #			{exists{/home/${lookup{$domain}lsearch{/etc/virtual/domainowners}{$value}}/.spamassassin/user_prefs}} \
    #			{<{$message_size}{100k}} \	
    #		} {1}{0}}"
    #  retry_use_local_part
    #  transport = spamcheck
    #  no_verify
    
    majordomo_aliases:
      driver = redirect
      allow_defer
      allow_fail
      data = ${if exists{/etc/virtual/${domain}/majordomo/list.aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/majordomo/list.aliases}}}}
      domains = lsearch;/etc/virtual/domainowners
      file_transport = address_file
      group = daemon
      pipe_transport = majordomo_pipe
      retry_use_local_part
      no_rewrite
      user = majordomo
    
    majordomo_private:
      driver = redirect
      allow_defer
      allow_fail
      #condition = "${if eq {$received_protocol} {local} {true} {false} }"
      condition = "${if or { {eq {$received_protocol} {local}} \
                             {eq {$received_protocol} {spam-scanned}} } {true} {false} }"
      data = ${if exists{/etc/virtual/${domain}/majordomo/private.aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/majordomo/private.aliases}}}}
      domains = lsearch;/etc/virtual/domainowners
      file_transport = address_file
      group = daemon
      pipe_transport = majordomo_pipe
      retry_use_local_part
      user = majordomo
    
    domain_filter:
      driver = redirect
      allow_filter
      no_check_local_user
      condition = "${if exists{/etc/virtual/${domain}/filter}{yes}{no}}"
      user = "${lookup{$domain}lsearch{/etc/virtual/domainowners}{$value}}"
      group = "mail"
      file = /etc/virtual/${domain}/filter
      directory_transport = address_file
      pipe_transport = virtual_address_pipe
      retry_use_local_part
      no_verify
    
    uservacation:
       driver = accept
       condition = ${lookup{$local_part} lsearch {/etc/virtual/${domain}/vacation.conf}{yes}{no}}
       require_files = /etc/virtual/${domain}/reply/${local_part}.msg
       transport = uservacation
       unseen
    
    userautoreply:
       driver = accept
       condition = ${lookup{$local_part} lsearch {/etc/virtual/${domain}/autoresponder.conf}{yes}{no}}
       require_files = /etc/virtual/${domain}/reply/${local_part}.msg
       transport = userautoreply
       unseen
    
    virtual_aliases_nostar:
      driver = redirect
      allow_defer
      allow_fail
      data = ${if exists{/etc/virtual/${domain}/aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/aliases}}}}
      file_transport = address_file
      group = mail
      pipe_transport = virtual_address_pipe
      retry_use_local_part
      unseen
      #include_domain = true
    
    virtual_user:
      driver = accept
      #condition = ${if eq {}{${if exists{/etc/virtual/${domain}/passwd}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/passwd}}}}}{no}{yes}}
      condition = ${perl{save_virtual_user}}
      domains = lsearch;/etc/virtual/domainowners
      group = mail
      retry_use_local_part
      transport = virtual_localdelivery
    
    #accept it only if local_part is not in the aliases file
    #otherwise known as thet catch-all
    virtual_aliases:
      driver = redirect
      allow_defer
      allow_fail
      condition = ${if eq {}{${if exists{/etc/virtual/${domain}/aliases}{${lookup{$local_part}lsearch{/etc/virtual/${domain}/aliases}}}}}{yes}{no}}
      data = ${if exists{/etc/virtual/$domain/aliases}{${lookup{$local_part}lsearch*{/etc/virtual/$domain/aliases}}}}
      file_transport = address_file
      group = mail
      pipe_transport = virtual_address_pipe
      retry_use_local_part
      #include_domain = true
    
    
    #if we have an alias, but no passwd entry we have to drop the email because the
    #first alias is unseen (so that you can forward as well as save it)
    #The save part is "seen" (virtual_user), but the forward before it isn't.  This
    #will be the spot where we "see" the email so that it doesn't send a bounce if
    #we have an alias but no pop.
    drop_solo_alias:
      driver = redirect
      allow_defer
      allow_fail
      data = ${if exists{/etc/virtual/$domain/aliases}{${lookup{$local_part}lsearch{/etc/virtual/$domain/aliases}}}}
      file_transport = devnull
      group = mail
      #pipe_transport = virtual_address_pipe
      pipe_transport = devnull
      retry_use_local_part
      #include_domain = true
    
    
    # This director handles forwarding using traditional .forward files.
    # If you want it also to allow mail filtering when a forward file
    # starts with the string "# Exim filter", uncomment the "filter" option.
    # The check_ancestor option means that if the forward file generates an
    # address that is an ancestor of the current one, the current one gets
    # passed on instead. This covers the case where A is aliased to B and B
    # has a .forward file pointing to A. The three transports specified at the
    # end are those that are used when forwarding generates a direct delivery
    # to a file, or to a pipe, or sets up an auto-reply, respectively.
    
    userforward:
      driver = redirect
      allow_filter
      check_ancestor
      check_local_user
      no_expn
      file = $home/.forward
      file_transport = address_file
      pipe_transport = address_pipe
      reply_transport = address_reply
      no_verify
    
    system_aliases:
      driver = redirect
      allow_defer
      allow_fail
      data = ${lookup{$local_part}lsearch{/etc/aliases}}
      file_transport = address_file
      pipe_transport = address_pipe
      retry_use_local_part
      # user = exim
    
    localuser:
      driver = accept
      check_local_user
      condition = "${if eq {$domain} {$primary_hostname} {yes} {no}}"
      transport = local_delivery
    
    # This director matches local user mailboxes.
    
    ######################################################################
    #                      TRANSPORTS CONFIGURATION                      #
    ######################################################################
    #                       ORDER DOES NOT MATTER                        #
    #     Only one appropriate transport is called for each delivery.    #
    ######################################################################
    
    # A transport is used only when referenced from a director or a router that
    # successfully handles an address.
    
    
    # Spam Assassin
    begin transports
    
    spamcheck:
      driver = pipe
      batch_max = 100
      command = /usr/sbin/exim -oMr spam-scanned -bS
      current_directory = "/tmp"
      group = mail
      home_directory = "/tmp"
      log_output
      message_prefix = 
      message_suffix = 
      return_fail_output
      no_return_path_add
      transport_filter = /usr/bin/spamc -u ${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}
      use_bsmtp
      user = mail
      # must use a privileged user to set $received_protocol on the way back in!
    
    
    #majordomo
    majordomo_pipe:
      driver = pipe
      group = daemon
      return_fail_output
      user = majordomo
    
    # This transport is used for local delivery to user mailboxes in traditional
    # BSD mailbox format. By default it will be run under the uid and gid of the
    # local user, and requires the sticky bit to be set on the /var/mail directory.
    # Some systems use the alternative approach of running mail deliveries under a
    # particular group instead of using the sticky bit. The commented options below
    # show how this can be done.
    
    local_delivery:
      driver = appendfile
      delivery_date_add
      envelope_to_add
      directory = /home/$local_part/Maildir/
      directory_mode = 770
      create_directory = true
      maildir_format
      group = mail
      mode = 0660
      return_path_add
      user = ${local_part}
    
    ## for delivering virtual domains to their own mail spool
    
    virtual_localdelivery:
      driver = appendfile
      create_directory
      delivery_date_add
      directory_mode = 770
      envelope_to_add
      directory = /home/${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}/imap/${domain}/${local_part}/Maildir
      maildir_format
      group = mail
      mode = 660
      return_path_add
      user = "${lookup{$domain}lsearch*{/etc/virtual/domainowners}{$value}}"
      quota = ${if exists{/etc/virtual/${domain}/quota}{${lookup{$local_part}lsearch*{/etc/virtual/${domain}/quota}{$value}{0}}}{0}}
      
    ## vacation transport
    uservacation:
      driver = autoreply
      file = /etc/virtual/${domain}/reply/${local_part}.msg
      from = "${local_part}@${domain}"
      log = /etc/virtual/${domain}/reply/${local_part}.log
      no_return_message
      subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {I am on vacation}}"
      text = "\
    	------                                                           ------\n\n\
    	This message was automatically generated by email software\n\
    	The delivery of your message has not been affected.\n\n\
    	------                                                           ------\n\n"
      to = "${sender_address}"
      user = mail
    	#once = /etc/virtual/${domain}/reply/${local_part}.once
    
    userautoreply:
      driver = autoreply
      bcc = ${lookup{${local_part}} lsearch {/etc/virtual/${domain}/autoresponder.conf}{$value}}
      file = /etc/virtual/${domain}/reply/${local_part}.msg
      from = "${local_part}@${domain}"
      log = /etc/virtual/${domain}/reply/${local_part}.log
      no_return_message
      subject = "${if def:h_Subject: {Autoreply: ${quote:${escape:$h_Subject:}}} {Autoreply Message}}"
      to = "${sender_address}"
      user = mail
      #once = /etc/virtual/${domain}/reply/${local_part}.once
    
    devnull:
      driver = appendfile
      file = /dev/null
    
    # This transport is used for delivering messages over SMTP connections.
    
    remote_smtp:
      driver = smtp
    
    # This transport is used for handling pipe deliveries generated by alias
    # or .forward files. If the pipe generates any standard output, it is returned
    # to the sender of the message as a delivery error. Set return_fail_output
    # instead of return_output if you want this to happen only when the pipe fails
    # to complete normally. You can set different transports for aliases and
    # forwards if you want to - see the references to address_pipe in the directors
    # section below.
    
    address_pipe:
      driver = pipe
      return_output
    
    virtual_address_pipe:
      driver = pipe
      group = nobody
      return_output
      user = "${lookup{$domain}lsearch* {/etc/virtual/domainowners}{$value}}"
    
    # This transport is used for handling deliveries directly to files that are
    # generated by aliasing or forwarding.
    
    address_file:
      driver = appendfile
      delivery_date_add
      envelope_to_add
      return_path_add
    
    # This transport is used for handling autoreplies generated by the filtering
    # option of the forwardfile director.
    
    address_reply:
      driver = autoreply
    
    ######################################################################
    #                      RETRY CONFIGURATION                           #
    ######################################################################
    
    # This single retry rule applies to all domains and all errors. It specifies
    # retries every 15 minutes for 2 hours, then increasing retry intervals,
    # starting at 1 hour and increasing each time by a factor of 1.5, up to 16
    # hours, then retries every 8 hours until 4 days have passed since the first
    # failed delivery.
    
    # Domain               Error       Retries
    # ------               -----       -------
    
    
    begin retry
    
    *                      *           F,2h,15m; G,16h,1h,1.5; F,4d,8h
    
    
    # End of Exim 4 configuration
    Quote Originally Posted by mr.applesauce View Post
    cd /usr/local/directadmin/custombuild
    ./build update
    ./build dovecot y
    ./build todovecot
    I did these (again) and still didn't help.

  4. #4
    Join Date
    Sep 2006
    Posts
    17
    I'll happily pay anyone that can fix this for me.

    Any takers?

  5. #5
    Join Date
    Jun 2003
    Location
    California
    Posts
    26,123
    If you're still having a problem send me an email (I do not read forum PMs as often as I read emails); my email address is at the bottom, in my siglines.

    I'm the guy whose name is in that file you posted and I can probably fix your problem.

    I'll quote you a flat fee, and if I can't fix it, I won't charge you.

    Do NOT send me any login information until after we have an agreement.

    Jeff
    +1 951 643-5345
    Third-Party DirectAdmin administration and support
    Dedicated Servers, Dedicated Reseller Accounts
    NoBaloney Internet Services div. Qnito Incorporated
    848 North Rainbow Blvd., Suite #3789
    Las Vegas, NV 89107-1103

  6. #6
    Join Date
    Jun 2011
    Posts
    3
    It appears that I am having the very same issue. I am wondering if it is possible that the solution can be posted here, or do I need to pay if I want this resolved? I am thinking that since I am apparently not the first person to come across this problem, it would be great if a resolution were posted here for others who probably have or will have this issue.

  7. #7
    Join Date
    Aug 2008
    Posts
    4,697
    Update your dovecot then and make sure the settings in dovecot.conf are right.

    Code:
    cd /usr/local/directadmin/custombuild
    ./build update
    ./build clean
    ./build dovecot d
    wget -O /etc/dovecot/dovecot.conf "http://files.directadmin.com/services/custombuild/dovecot.conf.2.0"
    If you have moved from mbox to maildir then you might need to run:
    Code:
    ./build todovecot
    Also consider using an updated exim.conf

    http://www.nobaloney.net/downloads/s...pamBlocker4.1/

  8. #8
    Join Date
    Jun 2003
    Location
    California
    Posts
    26,123
    How are you trying to log in and get your email? With a webmail client, or some other client? If webmail, I am experiencing the same problem and don't have a solution.

    @scsi:
    I've updated dovecot without resolving the issue. Can you post an example of your dovecot.conf file, if it's not the standard one used in DirectAdmin?

    Thanks.

    Jeff
    +1 951 643-5345
    Third-Party DirectAdmin administration and support
    Dedicated Servers, Dedicated Reseller Accounts
    NoBaloney Internet Services div. Qnito Incorporated
    848 North Rainbow Blvd., Suite #3789
    Las Vegas, NV 89107-1103

  9. #9
    Join Date
    Jun 2011
    Posts
    3
    Quote Originally Posted by scsi View Post
    Update your dovecot then and make sure the settings in dovecot.conf are right.

    Code:
    cd /usr/local/directadmin/custombuild
    ./build update
    ./build clean
    ./build dovecot d
    wget -O /etc/dovecot/dovecot.conf "http://files.directadmin.com/services/custombuild/dovecot.conf.2.0"
    If you have moved from mbox to maildir then you might need to run:
    Code:
    ./build todovecot
    Also consider using an updated exim.conf

    http://www.nobaloney.net/downloads/s...pamBlocker4.1/
    This did it! Thank you very much.

Similar Threads

  1. Replies: 7
    Last Post: 10-16-2009, 10:57 AM
  2. Replies: 1
    Last Post: 02-16-2009, 09:36 PM
  3. Users cannot login
    By prince059 in forum System-Level Technical Discussion
    Replies: 4
    Last Post: 08-16-2006, 09:07 PM
  4. email users, virtual or real system users?
    By redesb in forum E-Mail
    Replies: 3
    Last Post: 07-17-2004, 03:25 AM
  5. Best time to collect usage data?
    By jsefton in forum Scripting / API
    Replies: 7
    Last Post: 05-20-2004, 11:47 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •