Chuyển tiếp hậu tố đến Office365


8

Tôi đang cố gắng thiết lập máy chủ Postfix trên hộp Linux để chuyển tiếp tất cả thư đến máy chủ thư Office365 (Exchange, được lưu trữ bởi Microsoft) của chúng tôi, nhưng, tôi liên tục gặp lỗi về địa chỉ gửi:

BB338140DC1: to = rơle = pod51010.outlook.com [157.56.234.118]: 587, delay = 7.6, độ trễ = 0,01 / 0 / 2,5 / 5.1, dsn = 5.7.1, status = bị trả lại (máy chủ pod51010.outlook.com [ 157.56.234.118] cho biết: 550 5.7.1 Máy khách không có quyền gửi như người gửi này (để trả lời kết thúc lệnh DATA))

Office 365 yêu cầu địa chỉ gửi trong tiêu đề MAIL TỪ và Từ: giống như địa chỉ được sử dụng để xác thực. Tôi đã thử mọi thứ tôi có thể nghĩ trong cấu hình để làm việc này. Của tôipostconf -n:

append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = 127.0.0.1
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination = xxxxx, localhost.localdomain, localhost
myhostname = localhost
mynetworks = 127.0.0.0/8
recipient_delimiter = +
relay_domains = our.doamin
relayhost = [pod51010.outlook.com]:587
sender_canonical_classes = envelope_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

/etc/postfix/sender_canonical:

www-data                address@mydomain.com
root                    address@mydomain.com
www-data@localhost      address@mydomain.com
root@localhost          address@mydomain.com

Ngoài ra, sasl_passwdđược đặt thành thông tin xác thực chính xác (đã kiểm tra chúng bằng cách sử dụng swaks nhiều lần.) Xác thực hoạt động và gửi tin nhắn khi các tiêu đề từ chính xác (cũng được kiểm tra bằng cách sử dụng swaks , hoạt động)

Các email đến từ PHP, vì vậy tôi cũng đã thử thay đổi đường dẫn sendmail php.iniđể sử dụng vượt qua chính xác từ địa chỉ qua -f

Vì vậy, vì một số lý do, thư đến từ dữ liệu wwwroot không có từ các trường được viết lại cho sự hài lòng của Office 365 và nó sẽ không gửi thư.

Bất kỳ chuyên gia hậu tố nào có thể giúp tôi thiết lập rơle này?

Câu trả lời:


3

Chỉ trong trường hợp bất cứ ai đi qua điều này sau. Tôi cuối cùng đã nhận được một chuyển tiếp email thích hợp làm việc. Các vấn đề liên quan đến việc sử dụng phiên bản cũ hơn của postfix, định dạng phần tử "TỪ" trong phong bì theo cách mà Office 365 không thích. Cập nhật Postfix lên 2.9 hoặc cao hơn (và sử dụng cấu hình như ở trên) đã giải quyết được vấn đề.


Tôi đã dành 3 ngày qua để cố gắng thiết lập chuyển tiếp này với sendmail, ssmtp và bây giờ là postfix. Bạn có thể giải thích cho tôi sâu hơn một chút về sender_canonical của bạn không? Nó là cần thiết cho rơle này để làm việc? Với thiết lập của tôi, tôi nhận đượcJan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Rhyuk

bạn đã lấy smtp_tls_CAfile cho triển vọng.com ở đâu?
pjz

Tôi không bao giờ cần nó, nó chơi tốt với những gì đi kèm với máy chủ Ubuntu.
woodsbw

2

Giải pháp:

  1. Không gửi thư đến Office365 với tư cách là người dùng từ miền e-mail được lưu trữ Office365 của bạn. Thay vào đó, hãy sử dụng tên miền phụ, ví dụ: address@service.mydomain.com thay vì address@mydomain.com. Sẽ không hại gì khi thiết lập bản ghi SPF cho services.mydomain.com hoặc bất cứ điều gì bạn quyết định sử dụng.

  2. Không xác thực với mail.messaging.microsoft.com với tư cách là người dùng Office365. Chỉ cần kết nối trên cổng 25 và gửi thư đến miền của bạn như bất kỳ đại lý SMTP nước ngoài nào sẽ làm.


Đủ công bằng. Tôi đã hy vọng có được tất cả thư của chúng tôi đi qua một điểm trung tâm ... nhưng sau khi dành 12 giờ cố gắng để chuyển tiếp này hoạt động, tôi sẽ nhận nó :)
woodsbw

0

Tôi đã phát hiện ra rằng một số mô-đun auth của SASL bị thiếu. Sau đây đã sửa nó:

yum install cyrus-sasl-plain  cyrus-sasl-scram cyrus-sasl-md5  cyrus-sasl-ntlm

( mô-đun đơn giản có lẽ là đủ)

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.