Office365에 대한 후위 릴레이


8

Linux 상자에 Postfix 서버를 설정하여 모든 메일을 Office365 (Microsoft에서 호스팅하는 Exchange) 메일 서버로 릴레이하려고하지만 보내는 주소와 관련하여 계속 오류가 발생합니다.

BB338140DC1 : to = relay = pod51010.outlook.com [157.56.234.118] : 587, delay = 7.6, delays = 0.01 / 0 / 2.5 / 5.1, dsn = 5.7.1, status = bounced (호스트 pod51010.outlook.com [ 157.56.234.118] 말했다 : 550 5.7.1 고객에게이 발신자에게 전송할 권한이 없습니다 (DATA 명령 종료에 대한 응답으로)

Office 365에서는 MAIL FROM 및 From : 헤더의 발신 주소가 인증에 사용 된 주소와 같아야합니다. 이 작업을 수행하기 위해 구성에서 생각할 수있는 모든 것을 시도했습니다. 나의postconf -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

또한 sasl_passwd올바른 자격 증명으로 설정되어 있습니다 ( 스왑을 사용하여 여러 번 테스트 함 ). 인증이 작동하고 보낸 사람 헤더가 올 바르면 메시지를 보냅니다 ( 스왑을 사용하여 테스트 함 ).

이메일은 PHP에서 온 것이므로 sendmail 경로를 변경하여 php.ini-f를 통해 올바른 발신 주소를 사용 하려고했습니다.

따라서 어떤 이유로 든 www-dataroot 에서 오는 메일 에는 보낸 사람 필드가 Office 365의 만족도로 다시 쓰여지지 않았으며 메시지를 보내지 않습니다.

이 릴레이를 설치하는 데 도움이 될 수있는 접미사 전문가가 있습니까?

답변:


3

나중에 누군가가 이것을 만난 경우를 대비하여. 마침내 적절한 이메일 릴레이가 작동했습니다. 이 문제는 Office 365가 원하지 않는 방식으로 봉투의 "FROM"요소를 형식화 한 이전 버전의 postfix를 사용하는 것과 관련이있었습니다. Postfix를 2.9 이상으로 업데이트하고 위와 같은 구성을 사용하면 문제가 해결되었습니다.


sendmail, ssmtp 및 postfix 로이 릴레이를 설정하려고 지난 3 일을 보냈습니다. sender_canonical에 대해 좀 더 자세히 설명해 주시겠습니까? 이 릴레이가 작동해야합니까? 내 설정으로 얻을Jan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Rhyuk

outlook.com에 대한 smtp_tls_CA 파일을 어디서 얻었습니까?
pjz

나는 그것을 필요로하지 않았으며, 우분투 서버와 함께 제공되는 것과 잘 어울립니다.
woodsbw

2

해결책:

  1. Office365 호스팅 전자 메일 도메인의 사용자로 Office365에 메일을 보내지 마십시오. address@mydomain.com 대신 address@services.mydomain.com과 같은 하위 도메인을 대신 사용하십시오. services.mydomain.com 또는 사용하기로 결정한 것에 대한 SPF 레코드를 설정해도 문제가되지 않습니다.

  2. mail.messaging.microsoft.com에 대해 Office365 사용자로 인증하지 마십시오. 외부 SMTP 에이전트와 마찬가지로 포트 25에 연결하여 메일을 도메인으로 전달하십시오.


그럴 수 있지. 나는 우리의 모든 메일이 중앙 지점을 통과하기를 바랐지만 ...이 릴레이를 작동 시키려고 12 시간을 보낸 후에 나는 그것을 취할 것입니다 :)
woodsbw

0

일부 SASL 인증 모듈이 누락 된 것을 발견했습니다. 다음과 같이 수정했습니다.

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

( 일반 모듈로 충분했을 것입니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.