Foxmail로 이메일을 받을 수 없는데 이메일이 로컬로 수신되었습니다.

Foxmail로 이메일을 받을 수 없는데 이메일이 로컬로 수신되었습니다.

Maillog에는 오류가 표시되지 않습니다. 내 /home/mail/domain/www3/new에 새 이메일이 있습니다. 클라이언트나 텔넷 110/143을 사용하여 이메일을 읽을 수 없습니다. Dovecot 정보 로그에 오류가 표시되지 않는 것 같습니다. 어떻게 해야할지 모르겠습니다. 모든 것이 문제가 없는 것으로 보입니다. /etc/postfix/main.cf에는 몇 가지 구성이 있습니다.:

ssqueue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all
inet_protocols = all
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.10.1/samples
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
virtual_uid_maps = static:200 
virtual_gid_maps = static:12
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_authenticated_header = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
virtual_alias_maps = pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf 
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql/virtual_domains_maps.cf 
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf 
virtual_mailbox_base = /home/mail 
relay_domains = $mydestination, proxy:pgsql:/etc/postfix/pgsql/relay_domains.cf
virtual_mailbox_limit = 512000000 
virtual_minimum_uid = 8
virtual_transport = virtual 
local_transport = virtual 
local_recipient_maps = $virtual_mailbox_maps 

dovecot.conf에는 몇 가지 구성이 있습니다.:

dict {
#quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
 #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
}
!include conf.d/*.conf
mail_location = maildir:/home/mail/%u/
namespace inbox {
  type = private
  inbox = yes
  location =
mailbox Drafts {
  special_use = \Drafts
}
mailbox Junk {
  special_use = \Junk
}
mailbox Sent {
  special_use = \Sent
}
mailbox "Sent Messages" {
  special_use = \Sent
}
mailbox Trash {
  special_use = \Trash
}
prefix =
}
protocols = imap pop3 lmtp
ssl = no
login_greeting = mail.xxxxxx.com
auth_mechanisms = plain login
auth_debug = yes
auth_debug_passwords = yes
service auth {
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
  # Auth process is run as this user.
  user = postfix
  group = postfix
}
service imap {
    executable = imap
}
userdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}
passdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}
first_valid_uid = 200 
mail_uid = 200 
mail_gid = 12
disable_plaintext_auth = no
mail_plugins = $mail_plugins zlib
plugin {
    zlib_save_level = 6
    zlib_save = gz
}
protocol imap {
    mail_plugins = $mail_plugins imap_zlib
}
 mail_max_userip_connections = 50
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log

dovecot-sql.conf에는 몇 가지 구성이 있습니다.:

driver = pgsql
connect = host=localhost dbname=postfix user=postfix password=xxxxxxxx
default_pass_scheme = MD5-CRYPT
password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' 
AND active='1'
user_query = SELECT '/home/mail/' || maildir AS home, 200 as uid, 12 as gid FROM 
mailbox WHERE username = '%u' AND active = '1'

virtual_mailbox_maps 또는 이와 유사한 기타 항목:

user = postfix
password = xxxxxxxx
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = true

다른 구성은 관련이 없습니다. 모든 정보가 정상인 것으로 보이지만 예상한 결과를 얻을 수 없기 때문에 누구든지 저를 도와주실 수 있습니까? 감사합니다. 그런데 Foxmail을 사용하여 메일을 보낼 수 있습니다. 메일로그:

Mar 31 15:33:40 mail postfix/master[28261]: daemon started - 
version 2.10.1, configuration /etc/postfix
Mar 31 15:33:58 mail postfix/smtpd[28327]: connect from 
xmbg7.mail.xx.com[101.91.43.51]
Mar 31 15:33:58 mail postfix/smtpd[28327]: D0F0D1413AC: 
client=xmbg7.mail.xx.com[101.91.43.51]
Mar 31 15:33:59 mail postfix/cleanup[28335]: D0F0D1413AC: 
message-id=<[email protected]>
Mar 31 15:33:59 mail postfix/qmgr[28263]: D0F0D1413AC: from= 
<[email protected]>, size=2746, nrcpt=1 (queue active)
Mar 31 15:33:59 mail postfix/virtual[28337]: D0F0D1413AC: to= 
<[email protected]>, relay=virtual, delay=0.26, 
delays=0.24/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to 
maildir)

3월 31일 15:33:59 메일 postfix/qmgr[28263]: D0F0D1413AC: 제거됨

답변1

Dovecot은 다음에서 귀하의 이메일을 검색합니다.메일_위치+사용자 이름

mail_location = maildir:/home/mail/%u/

postfix의 정상적인 동작가상배송 대리인이 보관할 것입니다.virtual_mailbox_base+도메인+사용자 이름(여기 문서) 당신이 언급한 것처럼:

I see a new email in my /home/mail/domain/www3/new

접미사 사용가상배달대행은 그다지 실용적이지 않기 때문입니다. 가장 중요한 기능 중 하나인 할당량이 부족합니다.

비둘기장을 사용하는 것이 좋습니다lmtpdovecot lmtp에는 훨씬 더 많은 기능이 있으므로 대신 배달 에이전트로 사용됩니다.

그래도 postfix를 계속 사용하고 싶다면가상배달 에이전트는 user_query가 maildir 위치의 '도메인' 부분을 고려하는지 확인하십시오.

관련 정보