Điểm:0

Máy chủ email sẽ không nhận được email - Postfix/Dovecot/Raspberry Pi

lá cờ in

Lý lịch

Tôi đang làm việc để thiết lập một máy chủ email bằng cách sử dụng Raspberry Pi làm máy chủ. Tôi đã chủ yếu sử dụng hướng dẫn này như sự giúp đỡ của tôi nhưng tôi dường như bị mắc kẹt. Tôi có một dịch vụ dân cư nhưng có một tài khoản tại dynu.com với các dịch vụ "SMTP Outbound relay" và "Email Store / Forward" để giải quyết vấn đề này. Họ cũng lưu trữ tên miền của tôi.

Vấn đề

Tôi có thể gửi email mà không gặp vấn đề gì, vấn đề mà tôi đang gặp phải là nhận được chúng. Tôi sẽ đăng rất nhiều chi tiết vì tôi đã thử nhiều thứ và cảm thấy như có thứ gì đó chắc chắn sẽ tìm ra manh mối.

cổng

Sử dụng máy quét cổng tôi có thể xác định như sau:

  • Cổng 25 = Bị chặn
  • Cổng 2525 = Đã bỏ chặn
  • Cổng 143 = Đã bỏ chặn
  • Cổng 465 = Đã bỏ chặn
  • Cổng 993 = Đã bỏ chặn

Tất cả các cổng đang chuyển tiếp thành công qua bộ định tuyến đến máy chủ email của tôi.

Thử nghiệm OpenSSL (hoạt động)

Sử dụng lệnh openssl s_client -kết nối mail.xxx.com:993 -quiet (trong đó xxx là tên miền thực của tôi) Tôi có thể đăng nhập bằng mật khẩu người dùng đăng nhập , `b chọn hộp thư đến', 'c đăng xuất' Sử dụng tên miền thực của tôi thay vì localhost khiến tôi cảm thấy rằng điều này được thiết lập chính xác.

Theo dõi mail.log khi nhận email

Mục duy nhất xuất hiện: nhập mô tả hình ảnh ở đây

Tôi thấy trong dịch vụ Chuyển tiếp/Lưu trữ Email Dyno của mình, họ chỉ ngồi đó và không bao giờ chuyển:

nhập mô tả hình ảnh ở đây

Tôi đã thiết lập dịch vụ lưu trữ/chuyển tiếp email Dyno như sau:

nhập mô tả hình ảnh ở đây

Tôi thậm chí có thể không cần dịch vụ Chuyển tiếp/Lưu trữ Email này vì cổng 993 không bị ISP của tôi chặn? Tôi chỉ đang sử dụng nó vì tôi không thể làm cho nó hoạt động mà không có nó, vì vậy tôi cũng có thể thử một cái gì đó khác.

Các tệp cấu hình có liên quan

Main.cfg

smtpd_banner = $myhostname ESMTP $mail_name (Raspbian)
biff = không

append_dot_mydomain = không

readme_directory = không

# Xem http://www.postfix.org/COMPATIBILITY_README.html -- mặc định là 2 trên
# lượt cài đặt mới.
mức độ tương thích = 2

# Thông số TLS
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=có
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated 
defer_unauth_destination
myhostname = xxx.com (Tôi có tên thật ở đây)
mydomain = xxx.com (Tôi có tên thật ở đây)

nguồn gốc của tôi = $ tên miền của tôi

mydestination = localhost, localhost.localdomain

#thêm
smtp_sasl_auth_enable = có
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = vô danh

relayhost = [relay.dynu.com]:2525
smtp_sasl_use_tls = có
smtp_sasl_auth_enable = có
smtp_sasl_security_options = vô danh
smtp_generic_maps = hash:/etc/postfix/generic

mạng của tôi = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
hộp thư_size_limit = 0
người nhận_delimiter = +
inet_interfaces = tất cả


smtpd_recipient_restrictions=
    permit_sasl_authenticated,
    allow_mynetworks,
    reject_unauth_destinations

smtpd_helo_restrictions=
    allow_mynetworks,
    permit_sasl_authenticated,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_helo_hostname,
    hàm băm check_helo_access:/etc/postfix/helo_access

smtpd_sasl_type = bồ câu
smtpd_sasl_path = riêng tư/xác thực
smtpd_sasl_auth_enable = có
smtpd_tls_auth_only = có

Master.cf

#
# Tệp cấu hình quy trình tổng thể Postfix. Để biết chi tiết về định dạng
# của tệp, xem trang hướng dẫn chính (5) (lệnh: "man 5 master" hoặc
# trực tuyến: http://www.postfix.org/master.5.html).
#
# Đừng quên thực hiện "tải lại postfix" sau khi chỉnh sửa tệp này.
#
# ================================================= ==========================
# loại dịch vụ riêng tư unpriv đánh thức chroot lệnh maxproc + args
# (có) (có) (không) (không bao giờ) (100)
# ================================================= ==========================
smtp inet n - y - - smtpd
2525 inet n - n - - smtpd
#smtp inet n - y - 1 màn hình đăng
#smtpd vượt qua - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
#submission inet n - y - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=mã hóa
# -o smtpd_sasl_auth_enable=có
# -o smtpd_tls_auth_only=có
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,từ chối
# -o milter_macro_daemon_name=ĐANG XUẤT HÀNH
smtps inet n - - - - smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=có
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,từ chối
# -o smtpd_sasl_auth_enable=có
# -o smtpd_sasl_auth_enable=có
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,từ chối
# -o milter_macro_daemon_name=ĐANG XUẤT HÀNH
#628 inet n - y - - qmqpd
đón unix n - y 60 1 đón
dọn dẹp unix n - y - 0 dọn dẹp
qmgr unix n - n 300 1 qmgr
#qmgr unix n - n 300 1 oqmgr
tlsmgr unix - - y 1000? 1 tlsmgr
viết lại unix - - y - - viết lại tầm thường
bị trả lại unix - - y - 0 bị trả lại
trì hoãn unix - - y - 0 thoát
theo dõi unix - - y - 0 bị trả lại
xác minh unix - - y - 1 xác minh
tuôn ra unix n - y 1000? 0 tuôn ra
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
chuyển tiếp unix - - y - - smtp
        -o syslog_name=postfix/$service_name
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
lỗi unix - - y - - lỗi
thử lại unix - - y - - lỗi
loại bỏ unix - - y - - loại bỏ
unix cục bộ - n n - - cục bộ
unix ảo - n n - - ảo
lmtp unix - - y - - lmtp
đe unix - - y - 1 đe
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
#
# ================================================= ===================
# Giao diện cho phần mềm không phải Postfix. Hãy chắc chắn kiểm tra hướng dẫn
# trang của phần mềm không phải Postfix để tìm ra những tùy chọn mà nó muốn.
#
# Nhiều dịch vụ sau sử dụng phân phối Postfix pipe(8)
# đại lý. Xem trang man pipe(8) để biết thông tin về ${recipient}
# và các tùy chọn phong bì thư khác.
# ================================================= ===================
#
# gửi thư. Xem tệp Postfix MAILDROP_README để biết chi tiết.
# Cũng chỉ định trong main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
# 
# ================================================= ===================
#
# Các phiên bản Cyrus gần đây có thể sử dụng mục "lmtp" master.cf hiện có.
#
# Chỉ định trong cyrus.conf:
# lmtp cmd="lmtpd -a" nghe="localhost:lmtp" proto=tcp4
#
# Chỉ định trong main.cf một hoặc nhiều điều sau:
# mailbox_transport = lmtp:inet:localhost
# virtual_transport = lmtp:inet:localhost
#
# ================================================= ===================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Cũng chỉ định trong main.cf: cyrus_destination_recipient_limit=1 
#
#cyrus unix - n n - - ống
# user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ================================================= ===================
# Ví dụ cũ về giao hàng qua Cyrus.
#
#old-cyrus unix - n n - - pipe
# flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ================================================= ===================
#
# Xem tệp Postfix UUCP_README để biết chi tiết về cấu hình.
#
uucp unix - n n - - ống
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($người nhận)
#
# Các phương thức giao hàng bên ngoài khác.
#
ifmail unix - n n - - pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - ống
  cờ = Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 ống
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} 
${user} ${extension}
người đưa thư unix - n n - - pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${người dùng}

Dovecot 10-master.conf

Chắc chắn là đang nghe trên cổng 993 như được minh họa bằng thông tin đăng nhập ở trên:

dịch vụ đăng nhập imap {
  cổng = 143
}
ảnh inet_listener {
  cổng = 993
  ssl = có
}

Nếu có bất kỳ tệp cấu hình nào khác cần được kiểm tra/đăng, hãy cho tôi biết và tôi có thể hiển thị.

Dịch vụ email Dynu / cấu hình tìm nạp thư

Cấu hình Dynu:

nhập mô tả hình ảnh ở đây

Tôi cũng có thể chỉ định tên người dùng và mật khẩu đăng nhập:

nhập mô tả hình ảnh ở đây

Tìm nạp thư:

# /etc/fetchmailrc cho chế độ daemon toàn hệ thống

# Tệp này phải là chmod 0600, chủ sở hữu lấy thư



đặt daemon 300 # Bi-a cứ sau 5 phút

đặt nhật ký hệ thống # đăng nhập thông qua cơ sở nhật ký hệ thống

đặt gốc postmaster



đặt không bị trả lại thư # tránh mất mát do lỗi 4xx

                            # mặt khác, lỗi 5xx gặp phải

                            # nguy hiểm hơn...

# Máy chủ để gộp


# Mặc định ================================================ ===============
# Đặt chống thư rác thành -1, vì sẽ an toàn hơn nhiều khi sử dụng cùng với

# không có thư trả lại

mặc định:

thời gian chờ 300

chống thư rác -1

giới hạn lô 100

thăm dò ý kiến ​​store1.dynu.com giao thức POP3 tên người dùng "eric" mật khẩu "mật khẩu"

Vì vậy, trong cấu hình trên, tôi vẫn không nhận được email.Tên người dùng và mật khẩu trong tìm nạp thư có khớp với tên người dùng và mật khẩu trong xác thực cho dynu không? Là thăm dò ý kiến ​​store1.dynu.com giao thức POP3 tên người dùng "eric" mật khẩu "mật khẩu" khẩu phần phải không?

lá cờ fr
Hãy thử `thăm dò người dùng giao thức ETRN của store1.dynu.com `
lá cờ fr
Đính chính, nó phải là `fetchdomains`, không phải `user`: `poll store1.dynu.com giao thức ETRN fetchdomains `.
Eric F avatar
lá cờ in
@Tomek Cảm ơn vì lời đề nghị! Tôi đã thử điều này nhưng vẫn không có email nào được gửi đi. Tôi đã phát hiện ra rằng tôi đã thiếu `home_mailbox = Maildir/` và `mailbox_command = ` trong main.cf của mình. Giờ đây, việc thêm những dòng này cho phép tôi gửi email cho chính mình (nội bộ trong mạng của riêng tôi), điều này nhiều hơn những gì tôi có thể làm trước đây. Vẫn không thể gửi từ bên ngoài mặc dù
Eric F avatar
lá cờ in
@tomek Cuối cùng tôi đã làm cho nó hoạt động! Điều quan trọng là đặt cổng ETRN của tôi trên dynu thành 465 và xác thực bằng tên người dùng và mật khẩu của tôi. Cảm ơn rất nhiều vì sự giúp đỡ của bạn Tomek!!
Điểm:2
lá cờ fr

Bạn đang nhầm lẫn các dịch vụ khác nhau. Máy chủ lưu trữ và chuyển tiếp @ dynu của bạn được định cấu hình cho ETRN. Điều này có nghĩa là bạn PHẢI kích hoạt chuyển email bằng giao thức ETRN và kết quả là dynu sẽ liên hệ với máy chủ SMTP của bạn, có thể là @ cổng ETRN (993) ở trên. bạn không cần chuồng bồ câu nghe ở đó, chỉ hậu tố.

Một ứng dụng khách ETRN mà tôi biết là nhận thư. Trang người đàn ông của nó có ghi chú này:

Chế độ ETRN cho phép bạn yêu cầu máy chủ ESMTP tuân thủ (chẳng hạn như BSD sendmail ở bản phát hành 8.8.0 trở lên) để mở ngay một kết nối sender-SMTP với máy khách của bạn và bắt đầu chuyển tiếp bất kỳ mục nào được gửi đến máy khách của bạn trong hàng đợi của máy chủ thư chưa gửi.

Vì vậy, có lẽ cấu hình và chạy nó là phần còn thiếu cuối cùng mà bạn cần quan tâm.

TUYÊN BỐ TỪ CHỐI: Tôi chưa bao giờ chạy thiết lập như vậy và không thể đảm bảo điều này sẽ hoạt động.

CHỈNH SỬA: Lệnh fetchmail có thể là:

fetchmail store1.dynu.com -p etrn --fetchdomains <your_domain_name>

đưa ra dòng thăm dò sau:

cuộc thăm dò giao thức store1.dynu.com etrn tìm nạp miền <your_domain_name>
Eric F avatar
lá cờ in
Cảm ơn bạn đã phản hồi. Tôi tin rằng "SquirrelMail" cũng làm điều tương tự? Tôi chỉ hỏi vì đây là bài viết gốc mà tôi đang sử dụng (https://samhobbs.co.uk/2013/12/raspberry-pi-email-server-part-3-squirrelmail) Tôi vẫn cần thành phần này bất kể phía khách hàng? Tôi vẫn cần điều này ngay cả khi tôi quyết định không sử dụng dịch vụ lưu trữ/chuyển tiếp email dynu?
lá cờ fr
`dovecot` là máy chủ IMAP và POP3 - để hiển thị email từ bộ nhớ cục bộ tới các ứng dụng khách như `thundirbird` hoặc thậm chí `outlook`. `squirrelmail`, theo như tôi nhớ là một máy khách web và có thể (hoặc thậm chí phải) sử dụng máy chủ IMAP hoặc POP3 làm phần phụ trợ của nó. Vì vậy, bạn CÓ THỂ cần nó nếu bạn muốn có giao diện web nhưng nó hoàn toàn không cần thiết đối với bản thân ETRN.
Eric F avatar
lá cờ in
Cám ơn rất nhiều! Tôi sẽ thử cài đặt/thiết lập fetchmail và sẽ đăng lại
lá cờ fr
BTW, cổng ETRN của bạn có thể không phải là 993 (vì bạn có dovecot ở đó) mà là 26 hoặc 2525. Và bạn phải định cấu hình postfix để nghe trên cổng đó. Hoặc bộ định tuyến để chuyển tiếp nó một cách thích hợp.
Eric F avatar
lá cờ in
Làm cách nào để có được postfix để nghe trên cổng đó? Cả 2526 và 26 đều mở. Có phải đó là trong master.cf?
lá cờ fr
Bạn đã nghe postfix trên cổng 2525 như tôi vừa nhận thấy trong tệp master.cf. Đây có thể là cổng ETRN của bạn.
Eric F avatar
lá cờ in
Tomek - Đã CẢM ƠN BẠN rất nhiều vì sự giúp đỡ của bạn. Cuối cùng thì tôi cũng đã cài đặt fetchmail (theo cách thủ công) nhưng nó vẫn đang hoạt động. Xem câu hỏi cập nhật của tôi vì tôi vẫn còn thiếu một cái gì đó nhỏ ...

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.