Khi exim4 gửi HELO / EHLO, làm cách nào để định cấu hình tên máy chủ mà nó gửi?


12

Các thư từ hệ thống của tôi đang bị từ chối khi máy chủ nhận kiểm tra Helo. Tôi tin rằng hệ thống của tôi đang gửi tên miền sai. Tôi đang chạy exim4. Googling cho bất cứ điều gì về exim4 và tên miền mang lại một danh sách ác mộng về kết quả không liên quan. Tương tự như vậy, việc tìm kiếm các từ chối của Helo mang lại một nhóm người dùng triển vọng, những người cần bật xác thực SMTP. Cả đời tôi không thể tìm ra câu hỏi đơn giản này: tên máy chủ nào đang được gửi và tôi thay đổi nó như thế nào?

Thật không may, tôi không thể xem những gì exim đang gửi qua dây, vì vậy tôi không có cách nào để tự gỡ lỗi này. Tôi hy vọng ai đó đã có vấn đề này và chỉ cần biết :).

Câu trả lời:


15

Giả sử lỗi đang phàn nàn về dữ liệu của Helo / EHLO, bạn muốn sử dụng tùy chọn helo_data trên vận chuyển smtp. Mặc định là $ chính_hostname.

remote_smtp:
    driver = smtp
    helo_data = host.example.com

Thêm thông tin có sẵn trong hướng dẫn .

Nếu đây không phải là trường hợp, bạn có thể muốn bao gồm một số tin nhắn từ chối ví dụ. Chỉ mã ba chữ số và chuỗi sau đó.


Cảm ơn! Sau 10 phút đọc về cách thay đổi cài đặt exim4 trên hệ thống dựa trên debian, tôi đã đặt tên chính_hostname thành FQDN trong /etc/exim4/exim4.conf.template và khởi động lại exim4. Điều đó đã lừa Tên máy chủ của tôi khác với FQDN và tôi không sử dụng Minimal_dns, do đó, vấn đề ban đầu. Thêm vào đó, chỉ bằng cách sửa đổi liên kết thủ công của bạn, tôi mới có thể tìm thấy các tài liệu trên trang chính_hostname (exim rất giống google! Cảm ơn một lần nữa!

Bạn có thể không muốn cập nhật tập tin đó. Tôi khuyên bạn nên chạy update-exim4.conf --keepcomments và sau đó sao chép /var/lib/exim4/config.autogenerated thành /etc/exim4/exim4.conf và sau đó sửa đổi tệp đó.
David Pashley

4

Lệnh

sudo dpkg-reconfigure exim4-config

sẽ nhắc bạn cho tên máy chủ chính để sử dụng.


3

Trên Debian (Lenny) tôi thấy rằng bạn đã đặt tên máy chủ /etc/hostnamenhưng điều này không được nhận ra cho đến khi khởi động lại.

$ hostname newhostname

thiết lập nó ngay lập tức (nhưng bị mất khi khởi động lại, vì vậy bạn phải thực hiện cả hai).

exim4 dường như báo cáo giống như uname -n, và tôi thấy rằng một cách hữu ích để kiểm tra.


2

Tên máy chủ nào được gửi exim?

Người ta có thể tìm thấy tên Helo trong nhật ký của exim4. Dừng trình nền exim4, sau đó khởi động lại bằng tay với tính năng gỡ lỗi:

/usr/sbin/exim4 -bd -d+all 2>&1 | egrep 'HELO|EHLO'

( 2>&1|egrep 'HELO|EHLO'phần này là tùy chọn, nó chỉ chuyển hướng stderr sang stdout, sau đó chuyển nhật ký tới egrep, phần này sẽ lọc mọi thứ trừ các dòng có chứa HELO hoặc EHLO).

Gửi email và cần có một hoặc hai dòng dưới dạng sau:

SMTP>> EHLO foobar.example.com

Tên Helo là foobar.example.com.

Ngoài ra còn có một số công cụ kiểm tra trực tuyến hữu ích cung cấp thông tin này (và nhiều công cụ hữu ích khác), ví dụ:

  • https://www.mail-tester.com (hãy cẩn thận, chỉ có 3 lần kiểm tra email miễn phí mỗi ngày);
  • check-auth@verifier.port25.com (miễn phí);
  • mailtest@unlocktheinbox.com (hầu hết các phản hồi của nó không miễn phí, nhưng với mục đích này là vậy).

Làm thế nào để tôi thay đổi nó?

Thay vì chỉnh sửa tệp vận chuyển theo đề xuất của David, tôi muốn sử dụng định nghĩa hằng số exim4 (?) Và đặt tên trong /etc/exim4/conf.d/main/00_local_settings(trong cấu hình phân tách), ví dụ:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

Đừng quên chạy update-exim4.conftrước để khởi động lại exim4.

Tôi đặt chính_hostname [Hàng] trong /etc/exim4/exim4.conf.template

Như David đã đề cập, đây có lẽ không phải là ý tưởng tốt nhất. Trong cấu hình phân chia, bạn có thể đặt tên máy chủ chính bằng cách thêm

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

trong /etc/exim4/conf.d/main/00_local_settings. Có vẻ như nó sẽ PRIMARY_HOST_NAMEở cấu hình exim4 nguyên khối.


0

Cài đặt bạn muốn được gọi là chính_hostname .

Để gỡ lỗi, bạn có thể sử dụng

tcpdump -A port 25

để xem lưu lượng SMTP trong ASCII.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.