Score:0

Empty Email when using MS365 as a mail relay from a Python application

ธง co

We've got a very weird issue going on here.

Take this example email (raw form, sanitized):

To: [email protected]
From: Thomas Ward via TestList <[email protected]>
Subject: Test Message
Date: Wed, 4 Aug 2021 19:44:49 -0400
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="------------EFA1B8DAB3C4E625DD16F705"
Content-Language: en-US
Sender: [email protected]
Reply-To: Thomas Ward <teward@NOPE>
CC: Thomas Ward <teward@NOPE>
Message-ID: <162812069430.22940.8470019517074758016@listserv-server>
List-Id: TestList <[email protected]>
List-Post: <mailto:[email protected]>

--------------EFA1B8DAB3C4E625DD16F705
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Test


--------------EFA1B8DAB3C4E625DD16F705
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Test<br>
    </p>
  </body>
</html>

--------------EFA1B8DAB3C4E625DD16F705--

This is being sent via straight SMTP to a Send Connector at MS365 configured to receive and relay mail from our on-prem mail server to MS365 for retransmission to the Internet.

Except... while the email retransmits to the destination external recipients... it actually only sends the To, From, Subject, etc. but completely ignores the actual content of the message. This was replicated with direct submission of a MIMEText() test email in Python as well.

The same email, however, when directly submitted to the external mail servers where I'm receiving this (where @NOPE would be my actual domain and server), transmits and relays fine, with all content. The same thing happens as well when we transmit via an on-prem Postfix relay which goes through a Sophos appliance, which then goes directly to the recipient server.

So, it seems that routing any mail via Exchange Online in this way with an on-prem system sending mail via MS365 outright fails to function. Regardless of the message submitted.

Has anyone else got any kind of on-prem mail system(s) or solutions here which need to route via MS365, and simply is unable to without Microsoft eating the message in its entirety?

The above email was sent to the Test List from external, routed through to an on-prem Exchange server (Exchange Hybrid setup due to on-prem listservs), modified for DMARC compliance, and then retransmitted to two external addresses as a new message, same issue at recipient ends. Also same issue for internal MS365 (in-organization) recipients.

Again, delivery works fine via on-prem Postfix stuff, but not when relayed via MS365 (which clearly ACCEPTED the emails and retransmitted everything EXCEPT the actual message).

Score:0
ธง co

ตกลง ดูเหมือนว่าฉันจะคิดออกแล้ว แต่เป็นสิ่งที่ฉันต้องตะโกนใส่ Microsoft

ข้อความในคำถามของฉันเป็นคำต่อคำที่ส่งไปยัง Postfix และสิ่งที่ถูกส่งไปยังตัวเชื่อมต่อ SMTP ของ Outlook อย่างไรก็ตาม ข้อแตกต่างคือ Postfix จะจัดการข้อความอย่างเหมาะสมแล้วส่งต่ออีกครั้ง อย่างใด ด้วยวิธีที่แตกต่างจากวิธี smtplib ของ Python จัดการกับการส่งเมล ข้อความ และ เนื้อหาจะถูกส่งอย่างถูกต้องเมื่อส่งครั้งแรกไปยังเซิร์ฟเวอร์ Postfix เพื่อประมวลผลก่อนส่งออกผ่าน Send Connector ที่ MS365 ซึ่ง... ไม่ใช่สิ่งที่เราต้องการเพราะเราไม่ต้องการบำรุงรักษาเซิร์ฟเวอร์เมลจริงประเภทใดๆ บน prem, Postfix หรืออื่นๆ และเพียงต้องการส่งมอบโดยตรงไปยัง Microsoft 365 เพื่อการจัดการแทนที่จะต้องการ 'คนกลาง hop' ในเมลเซิร์ฟเวอร์และ MTA ก่อน รับข้อความจากไคลเอนต์ปลายทางและตัวเชื่อมต่อ

เป็นเรื่องแปลกที่ Microsoft 365 ไม่สามารถจัดการข้อความที่ส่งถึงโดยตรงได้อย่างเหมาะสม เว้นแต่ว่า Microsoft จะมีรูปแบบแปลก ๆ ที่ต้องการจัดการ ไม่ใช่ สอดคล้องกับ RFC ... แต่นั่นเป็นการต่อสู้ที่แตกต่างออกไป

Score:-1
ธง us

ใบสมัครของคุณตรงตามข้อกำหนดต่อไปนี้หรือไม่? วิธีตั้งค่าอุปกรณ์มัลติฟังก์ชั่นหรือแอปพลิเคชันเพื่อส่งอีเมลโดยใช้ Microsoft 365 หรือ Office 365

ลองใช้ ส่ง MailMessage หรือ เทลเน็ต บนเซิร์ฟเวอร์อีเมลของคุณเพื่อทดสอบ SMTP และดูว่ามีความแตกต่างหรือไม่

นอกจากนี้ เธรดต่อไปนี้อาจเป็นประโยชน์: ส่ง emal stmp office 365 : ข้อความว่างเปล่า

co flag
ตัวเลือกที่ 3 มีอยู่แล้ว เราทราบดีว่าแอปพลิเคชันอีเมลที่ส่ง SMTP ผ่านรีเลย์ไปยัง MS365 ทริกเกอร์การตอบสนองที่สำเร็จของการเข้าคิวเพื่อจัดส่ง แต่จากนั้น MS365 จะทำบางอย่างกับข้อความและส่งข้อความที่ว่างเปล่าเป็นส่วนใหญ่ เช่น. ทุกส่วนหัวจะถูกเก็บไว้ แต่ไม่มีการส่งข้อมูลซ้ำ ตามความรู้ของฉัน SMTP Relay ไม่ต้องการใบอนุญาตสำหรับสิ่งนี้ เว้นแต่ฉันจะเข้าใจผิด? เรามีสิทธิ์การใช้งาน Business Basic บางอย่างที่เราสามารถเล่นได้หากเราจำเป็นต้องใช้ผู้ส่งที่ได้รับการรับรองความถูกต้อง/มีใบอนุญาต
co flag
และเกี่ยวกับเธรด SO เรากำลังสร้างบริบท MIMEText เมื่อส่งข้อความทดสอบผ่าน Python ดังนั้นนั่นไม่ใช่ปัญหา
Ivan_Wang avatar
us flag
ผลลัพธ์จะเป็นอย่างไรหากคุณเชื่อมต่อกับ Exchange Online PowerShell และเรียกใช้คำสั่งต่อไปนี้: 1. **รับ TransportConfig | fl SmtpClientAuthenticationDisabled** 2. **รับ CASMailbox | fl SmtpClientAuthenticationDisabled**. พารามิเตอร์ "SmtpClientAuthenticationDisabled" คือการระบุว่าจะปิดใช้งาน SMTP ที่รับรองความถูกต้อง (SMTP AUTH) สำหรับทั้งองค์กรหรือกล่องจดหมายเดียว รายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้: https://docs.microsoft.com/en-us/powershell/module/exchange/set-casmailbox?view=exchange-ps
co flag
เราไม่มีข้อมูลประจำตัวของกล่องจดหมายสำหรับสิ่งนี้ - เรากำลังพยายามส่งการแจ้งเตือนจากระบบภายในองค์กรที่ไม่มีกล่องจดหมายผ่านการส่ง SMTP โดยตรงไปยังผู้รับบนฝั่งคลาวด์ของโครงสร้างพื้นฐาน คำสั่งแรกส่งคืน True ดังนั้นไคลเอนต์ auth จึงถูกปิดใช้งาน อย่างไรก็ตาม เมื่อตัวเชื่อมต่ออยู่ในตำแหน่ง (เช่น MS365 ได้รับการกำหนดค่าเป็นจดหมาย ACCEPT โดยไม่มีคำถามหรือการรับรองความถูกต้องจากเซิร์ฟเวอร์ SMTP เบื้องต้น) จึงไม่ควรล้มเหลวเนื่องจากการพิสูจน์ตัวตน และเรา *สามารถ* ส่งข้อความด้วยวิธีนี้ และได้รับการจัดส่ง ยกเว้นไม่มีจดหมายจริง *เนื้อหา* รวมอยู่ในข้อความที่ส่ง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา