Điểm:1

iRedMail: Bí danh tên miền không hoạt động với một số thư bên ngoài (dấu phụ/mã chữ)

lá cờ ke

Sau khi thiết lập thành công máy chủ iRedMail cho miền chính của mình, tôi đã thử thêm miền phụ của mình làm bí danh bằng cách làm theo các bước ở đây: https://docs.iredmail.org/sql.add.alias.domain.html

Điều này vẫn chưa thực hiện được, vì vậy tôi đã thêm miền phụ vào /etc/postfix/main.cf:

virtual_alias_domains = domain2.tld
virtual_alias_maps = hash:/etc/postfix/virtual

Lưu ý: Tôi đã không xóa bất kỳ mục mysql hiện có nào trong virtual_alias_maps.

Và đã nhập ánh xạ vào /etc/postfix/virtual và thực thi "postmap /etc/postfix/virtual" sau đó:

@miền2.tld @miền1.tld

Điều này đang làm việc nội bộ trên máy chủ. [email protected] có thể gửi tới [email protected] và user2 sẽ nhận được thư trong hộp thư của mình. Các email bên ngoài cũng vẫn đến khi được gửi tới [email protected].

Thật không may, nó không hoạt động với các thư bên ngoài đến miền phụ. Trong /var/logs/mail.log của tôi, tôi tìm thấy những dòng sau:

postfix/smtpd[5541]: NOQUEUE: reject: RCPT from mail-oi1-x231.google.com[2607:f8b0:4864:20::231]: 451 4.3.5 <[email protected]>: Địa chỉ người nhận bị từ chối : Sự cố cấu hình máy chủ; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail-oi1-x231.google.com>

Và:

postfix/smtpd[5644]: cảnh báo: sự cố khi nói chuyện với máy chủ 127.0.0.1:12340: Đã hết thời gian kết nối

Trên cổng 12340 dovecot đang lắng nghe:

dovecot 513 root 67u IPv4 17087 0t0 TCP 127.0.0.1:12340 (LẮNG NGHE)

Trong nhật ký dovecot của tôi, tôi thấy dòng sau lặp đi lặp lại:

dovecot: trạng thái hạn ngạch: Lỗi: trạng thái hạn ngạch: Khách hàng đã gửi địa chỉ người nhận không hợp lệ: Ký tự không hợp lệ trong đường dẫn

Sau khi thử nghiệm thêm với các máy chủ lưu trữ thư bên ngoài khác nhau, tôi nhận thấy rằng 2 trong số 4 thư đến khi được gửi đến miền phụ. GMail và Hotmail thì không, sàn giao dịch của công ty tôi và một số nhà cung cấp web khác đã thành công.

Và đó là nơi tôi bị mắc kẹt. Tôi nghi ngờ một trong hai điều: Hoặc đơn giản là tôi đã bỏ lỡ một cấu hình cần thiết, điều này có vẻ rất có thể xảy ra, vì trước đây tôi chưa bao giờ thiết lập máy chủ thư trên Debian, hoặc lỗi dovecot là do tên miền phụ của tôi gây ra. Miền phụ chứa một âm sắc (ä/ö/ü) mà tôi biết rõ có thể gây ra một số sự cố. Vì vậy, tôi cũng sở hữu miền trong biến thể được định dạng bằng mã trừng phạt. Vì vậy, bất cứ khi nào tôi thêm tên miền phụ có âm sắc của nó vào một cấu hình, tôi cũng đã thêm phiên bản punnycode của nó, giả sử rằng nó sẽ giải quyết được mọi vấn đề về vấn đề đó.

iRedMail/postfix/dovecot/whateverelseisinvolved dường như hoạt động tốt với punnycode/umlauts per se, nó dường như phụ thuộc vào người gửi, vì chỉ một nửa số thư bị mất (người gửi sẽ không gặp lỗi). Bất kỳ dự đoán nào về lý do hoặc nhật ký nào tôi có thể kiểm tra để tìm hiểu sâu hơn về vấn đề này? Có phải tôi chỉ đơn giản là bỏ lỡ để cấu hình một cái gì đó rõ ràng?

Bất kỳ sự thúc đẩy nào đi đúng hướng đều được đánh giá cao.

Trân trọng, nước mũi

==== Thông tin cơ bản ====

  • Phiên bản iRedMail: Phiên bản 1.4.0 MARIADB
  • Phiên bản và tên phân phối Linux/BSD: Debian GNU/Linux 10 (buster) - 10.10
  • DB đã sử dụng: MySQL (MariaDB)
  • Máy chủ web: Nginx

==== Chỉnh sửa ====

Theo như thiết lập cơ sở; Sau khi cài đặt xong Debian 10, tôi đã làm theo các bước trong hướng dẫn này https://www.linuxbabe.com/mail-server/debian-10-buster-iredmail-email-server

Bất kỳ cấu hình cụ thể nào thay đổi từ hướng dẫn đã được đề cập trong bài đăng. Ngoài ra, tôi đã cấp chứng chỉ bao gồm tên miền chính và tên miền phụ trong punnycode.

Đây là các bản ghi khác nhau khi khởi động:

/var/log/mail.log:

Ngày 14 tháng 8 14:24:36 s postfix/postfix-script[1637]: cảnh báo: liên kết tượng trưng rời khỏi thư mục: /etc/postfix/./makedefs.out
14 tháng 8 14:24:37 s amavis[573]: bắt đầu. /usr/sbin/amavisd-new tại host.domain1.tld amavisd-new-2.11.0 (20160426), nhận biết Unicode, LC_ALL="C", LANG="en_US.UTF-8"
Ngày 14 tháng 8 14:24:37 s postfix/postfix-script[1819]: khởi động hệ thống thư Postfix
Ngày 14 tháng 8 14:24:37 s postfix/master[1821]: daemon bắt đầu -- phiên bản 3.4.14, cấu hình/etc/postfix
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Net::Server: Group Not Defined. Mặc định là EGID '121 121'
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Net::Server: Người dùng không được xác định. Mặc định là EUID '113'
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Không có chương trình mở rộng nào cho .F, đã thử: giải phóng, đóng băng -d, tan chảy, fcat
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Không có chương trình mở rộng nào cho .zoo, đã thử: zoo, unzoo
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Không có bộ giải mã cho .F   
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Không có bộ giải mã cho .zoo 
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Sử dụng mã máy quét av nội bộ chính cho clashav-socket
Ngày 14 tháng 8 14:24:39 s amavis[1915]: Tìm thấy máy quét av thứ cấp clashav-clamscan tại /usr/bin/clamscan

/var/log/dovecot/dovecot.log:

Ngày 14 tháng 8 14:24:26 s dovecot: master: Dovecot v2.3.4.1 (f79e8e7e4) khởi động cho pop3, imap, sàng, lmtp (đã tắt kết xuất lõi)
Ngày 14 tháng 8 14:24:43 s dovecot: stats: Error: (stats-reader): không trả lời bằng dòng VERSION hợp lệ: EXPORT#011global
Ngày 14 tháng 8 14:24:43 s dovecot: stats: Error: (stats-reader): không trả lời bằng dòng VERSION hợp lệ: EXPORT#011global

hậu tố grep /var/log/syslog:

Ngày 14 tháng 8 14:24:36 s postfix/postfix-script[1637]: cảnh báo: liên kết tượng trưng rời khỏi thư mục: /etc/postfix/./makedefs.out
Ngày 14 tháng 8 14:24:37 s postfix/postfix-script[1819]: khởi động hệ thống thư Postfix
Ngày 14 tháng 8 14:24:37 s postfix/master[1821]: daemon bắt đầu -- phiên bản 3.4.14, cấu hình/etc/postfix

Tôi đã tắt các tính năng hạn ngạch và bật SMTPUTF8 trong postfix main.cf của mình, không có thay đổi đáng chú ý nào ngoại trừ một dòng bổ sung khi khởi động trong mail.log:

Ngày 14 tháng 8 14:59:46 s amavis[571]: bắt đầu. /usr/sbin/amavisd-new tại host.domain1.tld amavisd-new-2.11.0 (20160426), nhận biết Unicode, LC_ALL="C", LANG="en_US.UTF-8"

Thật không may, hành vi vẫn như vậy. Sau khi phân tích sâu hơn nhật ký, tôi nhận ra rằng có vẻ như thư từ các nhà cung cấp đi qua được gửi qua punycode (ngay cả khi tôi đã gửi cụ thể nó tới miền có âm sắc/không phải ASCII-char). Mặt khác, GMail thực sự gửi thư đến miền chứa âm sắc (Không phải mã trừng phạt, ngay cả khi tôi đặc biệt sử dụng định dạng mã trừng phạt trong địa chỉ thư của người nhận). Vì vậy, tôi sẽ cần hướng dẫn máy chủ của mình xử lý các ký tự không phải ASCII hoặc tôi cần hướng dẫn Google gửi qua punycode. Hoặc hướng dẫn máy chủ của tôi dịch các âm sắc thành punycode. Tùy chọn 2 rõ ràng là không thực sự có trong tùy chọn, vì vậy tùy chọn 1 hoặc 3 là như vậy.

mục nhập mail.log từ thư máy chủ không phải Gmail:

postfix/amavis/smtp[2300]: 4Gn0zh0z4FzLnSJ: to=<[email protected]>, orig_to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=4, delays= 0.1/0/0.01/3.9, dsn=2.0.0, status=sent (250 2.0.0 từ MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: xếp hàng đợi là 4Gn0zm04JHzLxc0)

mục mail.log từ thư GMail:

Ngày 14 tháng 8 15:06:44 s postfix/smtpd[2281]: cảnh báo: sự cố khi nói chuyện với máy chủ 127.0.0.1:12340: Đã hết thời gian kết nối
Ngày 14 tháng 8 15:06:44 s postfix/smtpd[2281]: NOQUEUE: reject: RCPT from mail-ot1-x32b.google.com[2607:f8b0:4864:20::32b]: 451 4.3.5 <user@ dömain2.tld>: Địa chỉ người nhận bị từ chối: Sự cố cấu hình máy chủ; from=<[email protected]> to=<user@dömain2.tld> proto=ESMTP helo=<mail-ot1-x32b.google.com>
SnotMcBooger avatar
lá cờ ke
Cảm ơn cho đầu vào @anx. Tôi đã thêm nhật ký từ sau khi khởi động và một số ghi chú khác. Tôi đã bật hỗ trợ SMTPUTF8 trong postfix, vì nó chưa được bật, nhưng tiếc là không có thay đổi. Tôi cũng đã tắt các tính năng hạn ngạch nhưng có thể nhận thấy bất kỳ sự khác biệt nào trong hành vi. Như đã nêu trong bài đăng, có vẻ như các thư đi qua được gửi bằng punycode, không giống như các thư gmail, thực sự được gửi đến miền chứa ký tự không phải ascii. Có lẽ có một cách để dịch nó sang mã trừng phạt trước khi xử lý thêm?
SnotMcBooger avatar
lá cờ ke
Cảm ơn gợi ý, tôi đã hoàn nguyên cài đặt SMTPUTF8. Tôi đã khởi động lại máy chủ hoàn toàn nhiều lần. Trên thực tế, tôi đã khởi động lại máy chủ ngay trước khi trích xuất nhật ký mà tôi đã thêm vào bài đăng. Vẫn khởi động lại nó, kết quả tương tự tho. Thời gian chờ chỉ xảy ra với các thư được gửi tới "dömain2.ch", mọi thư khác đều được chuyển qua. Ngay cả những cái punycode. Thời gian chờ xảy ra tại cổng dovecot, nhưng chỉ khi một thư chứa âm sắc trong miền được gửi mà không bị máy chủ gửi thư chuyển thành mã punycode, chẳng hạn như google hoặc hotmail. Nói chung, máy chủ trao đổi dường như biến nó thành trừng phạt.
Điểm:0
lá cờ fr
anx

Vì tôi vẫn chưa thể thấy giải pháp đầy đủ (việc viết lại địa chỉ trong Postfix có thể hiệu quả, nhưng sẽ là một kết thúc buồn cho câu chuyện này), tôi đang thu thập các bước chẩn đoán của mình trong một câu trả lời:

  • có được có hiệu lực cấu hình, chẳng hạn như đổ bởi các lệnh hậu tố -nhậu tố -M nếu máy chủ thư đảm bảo sự hiểu biết rõ ràng về cách tích hợp các dịch vụ khác nhau (chủ yếu là amavis).

  • Kiểm tra riêng lẻ không phải ASCII trong phần cục bộ, trong tiêu đề không phải địa chỉ và trong tên miền (có Nhãn A được mã hóa qua Punycode để bắt đầu như xn--và dưới dạng Unicode trực tiếp chứa các chữ cái không phải ASCII)

  • Giữ SMTPUTF8 bị vô hiệu hóa trong Postfix - Dovecot chưa hỗ trợ đầy đủ việc xử lý thư có thể được nhận theo cách đó và nó không bắt buộc cũng như không nhất thiết hữu ích trong việc giải quyết các vấn đề trong amavis.

  • amavis có một $log_level cài đặt (trong Debian, có lẽ là trong /etc/amavis/conf.d/) điều đó có thể được zeroed như là một phần của bạn iRedMail phân bổ.

  • Nếu bạn có tùy chọn để chuyển đổi tùy chọn đó, hãy chạy amavis dưới dạng hàng đợi trước tôibộ lọc (thay vì dưới dạng smtp sau hàng đợi fbộ lọc) có thể hoặc không thể tiết lộ lỗi hoặc hành vi hữu ích hơn.

  • amavis đã khắc phục một số sự cố SQL + Unicode dành riêng cho mariadb sau phiên bản 2.11 bạn đang sử dụng, một lỗi hữu ích có thể nằm trong nhật ký cơ sở dữ liệu - hoặc có thể được loại trừ bằng cách so sánh cùng một ngăn xếp được định cấu hình với một phụ trợ postgres giống hệt nhau về chức năng (postgres không chia sẻ các tính năng/lỗi Unicode của MySQL&MariaDB)

anx avatar
lá cờ fr
anx
Tôi chắc chắn hy vọng nó * không phải * một trong những vấn đề "Unicode, nhưng sai" một lần nữa ..

Đă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.