我在 CentOS 7 机器上使用 Apache、Postfix、Courier IMAP 和 roundcube。
我想创建一个新的用户帐户/新的用户电子邮件,以便能够从我的域向我的本地网络之外发送电子邮件(到互联网)。
我在我的 CentOS 服务器上创建了一个名为“bbrown”的用户(只是一个普通的 Linux 帐户,adduser/useradd bbrown)。然后我转到 roundcube 邮件网页,我无法以“bbrown”或“[电子邮件保护]“。
如果我使用 putty 登录 CentOS 服务器,我就可以以“bbrown”的身份登录到命令行。无论什么都应该在数据库中自动创建一个 roundcube 邮件用户帐户,但并没有创建它。(我确保在:auto_create_user
中将 的设置设置为 true )./config/main.inc.php
$rcmail_config['auto_create_user'] = TRUE;
这是一个独立的 CentOS 服务器,因此用户是通过useradd
命令行上的命令添加的。这不是 CPANEL 或任何其他类型的 Linux 服务器。本论坛中的所有内容似乎都表明大多数人使用 CPANEL 添加用户,这可能与通用脚本不同useradd
。
我猜我可能需要向我的 IMAP 服务器添加一个帐户 - 但我真的不知道该怎么做。我检查了日志,发现有这样的消息:
imapd: bbrown: No such file or directory
我还应该检查/做什么才能使其正常工作?
POSTFIX 配置文件:
inet_interfaces = x.x.x.x, 192.168.1.1, 127.0.0.1, [::1]
inet_protocols = ipv4, ipv6
mydomain = xxxx.xxxx.xx
myhostname = xxxx.$mydomain
myorigin = $myhostname
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8, [::1]/128
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
mailbox_command = /usr/bin/maildrop
home_mailbox = Maildir/
message_size_limit = 30720000
recipient_delimiter = +
relay_domains = $mydestination
relay_recipient_maps =
relay_transport = relay
relayhost =
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
strict_rfc821_envelopes = yes
smtpd_client_restrictions =
# reject_unknown_client_hostname,
permit
smtpd_helo_restrictions =
reject_invalid_helo_hostname,
# reject_non_fqdn_helo_hostname,
# reject_unknown_helo_hostname,
permit
smtpd_sender_restrictions =
reject_unknown_sender_domain,
hash:/etc/postfix/sender_checks,
reject_non_fqdn_sender,
permit
smtpd_recipient_restrictions =
reject_non_fqdn_recipient,
# if sasl_authenticated, then permit (end here)
permit_sasl_authenticated,
# if not sasl_authenticated, then check auth_destination
permit_auth_destination,
# if not auth_destination, then reject
reject
smtpd_etrn_restrictions =
permit_mynetworks,
reject
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/ss-certs/xxxx-smtp-crt-04032015.pem
smtpd_tls_key_file = /etc/ss-certs/xxxx-smtp-key-04032015.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
receive_override_options = no_address_mappings
content_filter=smtp-amavis:[127.0.0.1]:10024
imapd-ssl
SSLPORT=993
SSLADDRESS=0
SSLPIDFILE=/var/run/courier/imapd-ssl.pid
SSLLOGGEROPTS="-name=imapd-ssl"
IMAPDSSLSTART=YES
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=0
COURIERTLS=/usr/bin/couriertls
TLS_KX_LIST=ALL
TLS_COMPRESSION=ALL
TLS_CERTS=X509
TLS_CERTFILE=/etc/courier/imapd.pem
TLS_TRUSTCERTS=/etc/ssl/certs
TLS_VERIFYPEER=NONE
TLS_CACHEFILE=/var/lib/courier/couriersslcache
TLS_CACHESIZE=524288
MAILDIRPATH=Maildir
authdaemonrc
authmodulelist="authpam"
authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
daemons=5
authdaemonvar=/var/run/courier/authdaemon
DEBUG_LOGIN=0
DEFAULTOPTIONS=""
LOGGEROPTS=""
当我尝试使用我的旧帐户进行身份验证时(authtest brib
):
Authentication succeeded.
Authenticated: brib (system username: brib)
Home Directory: /home/brib
Maildir: (none)
Quota: (none)
Encrypted Password: $6$UtexL35q$9sM9PIkS7FD6UzVdPPjwjr3/Ee.RxGkRD6SLgeThXS.HC9dMAuJMT8NwjaYpLlW2jDCDQBWOv5lAp9OClhfMA.
Cleartext Password: (none)
Options: (none)
但是,使用新的我得到了(authtest bbrown
):
Authentication FAILED: Operation not permitted
答案1
imapd 期望邮件文件夹存在
mkdir -p ~bbrown/Maildir/{cur,new,tmp}
chown -R bbrown:bbrown ~bbrown/Maildir
答案2
您似乎没有尝试向用户发送任何内容(这将合理地导致邮件服务器创建邮箱)。
我建议您先向该用户发送一些邮件。
例如。mail -s test_1 bbrown <<< this_is_a_test