Điểm:-1

Làm cách nào để gửi email bằng openssl và Microsoft Exchange Online?

lá cờ vn

Với Microsoft vô hiệu hóa xác thực cơ bản trong Exchange Online, tôi bắt đầu thêm hỗ trợ Xác thực hiện đại trong ứng dụng của mình. Ứng dụng của chúng tôi gửi thông báo email cơ bản. Hiện tại, chúng tôi sử dụng xác thực cơ bản SMTP hoặc chuyển tiếp mở cho việc này, nhưng Xác thực hiện đại sẽ là một bổ sung tuyệt vời.

Để hiểu đầy đủ quy trình, tôi muốn thực hiện toàn bộ quy trình email theo cách thủ công. Tôi có một đối tượng thuê phát triển tại Microsoft, trong đó tôi đã đăng ký ứng dụng của mình. Tôi không gặp vấn đề gì khi nhận mã thông báo Oauth với phạm vi email. Đó là giao tiếp với máy chủ SMTP mà tôi không thể vượt qua.

Vì giao tiếp phải được mã hóa, tôi sử dụng openssl (thay vì telnet). Tôi kết nối với máy chủ bằng lệnh này:

openssl s_client -connect smtp.office365.com:587 -crlf -starttls smtp

Có một số phản hồi xung quanh đàm phán SSL và sau đó máy chủ phản hồi:

250 SMTPUTF8

Tại thời điểm đó, tôi tin rằng tôi phải sử dụng lệnh EHLO. Tuy nhiên, sau khi

EHLO

Phản hồi chỉ là (Máy chủ thay đổi sau mỗi lần thử)

' [AM4PR0101CA0056.eurprd01.prod.exchangelabs.com] 

Tại thời điểm này tôi không chắc phải làm gì. Tôi tin rằng có thể cần phải chèn một số miền sau lệnh ehlo (để xác định đối tượng thuê trực tuyến của Microsoft để kết nối?). Tuy nhiên, bất kể tên miền nào tôi chèn vào, phản hồi luôn là:

501 5.5.4 Tên miền không hợp lệ [AM4PR0101CA0056.eurprd01.prod.exchangelabs.com]

Ai đó có thể giải thích cách bắt đầu liên lạc với đối tượng thuê Microsoft Exchange Online qua OpenSSL không? Tôi phải đặt gì sau EHLO? Tôi có đang kết nối với đúng địa chỉ không? Tôi chỉ đang cố gắng đạt đến điểm mà tôi có thể đưa ra lệnh AUTH XOAUTH2 để đăng nhập vào đối tượng thuê của mình.

Tôi đã có thể thực hiện toàn bộ quy trình trên máy chủ smtp của Gmail (smtp.gmail.com). Trên đó, bạn thêm gì sau lệnh ehlo không quan trọng, sau khi ban hành nó, bạn sẽ được chào đón và có thể tiến hành đăng nhập bằng các lệnh AUTH khác nhau.

Điểm:0
lá cờ us
Rob

Các EHLO là sự kế thừa "tiên tiến" của cái cũ xin chào và dự định để ứng dụng khách SMTP của bạn tự giới thiệu. Vì vậy, tương tự như nói "Xin chào! Tôi là Rob, rất vui được gặp bạn." bạn cần cung cấp tên máy chủ của riêng mình sau EHLO.

RFC 5312

Cú pháp:

"EHLO" "(dấu cách)" "(Tên miền / địa chỉ theo nghĩa đen )" "CRLF"

Tên miền được cung cấp trong lệnh EHLO PHẢI là tên chính tên máy chủ (một tên miền phân giải thành một địa chỉ RR) hoặc, nếu máy chủ không có tên, một địa chỉ theo nghĩa đen, như được mô tả trong Mục 4.1.3 và được thảo luận thêm trong phần thảo luận EHLO về Mục 4.1.4.

Một số triển khai máy chủ SMTP nghiêm ngặt hơn những triển khai khác trong việc yêu cầu giao thức SMTP được triển khai chính xác bởi các máy khách kết nối. Lưu ý rằng việc triển khai SMTP không tốt thường sẽ làm tăng (đáng kể) điểm thư rác của bạn.

lá cờ vn
Ok, vì vậy tôi đã sử dụng một dịch vụ như http://www.whatismyhostname.com/ để xác định tên máy chủ của mình. smtp.office365.com không chấp nhận điều này. RFC cho biết trong 4.1.3 rằng cách khác, có thể sử dụng một địa chỉ bằng chữ (địa chỉ IP) trong ngoặc vuông. Không hoạt động một trong hai. Điều này làm việc cho bạn ở tất cả? Nếu bạn có OpenSSL, đây là một thử nghiệm rất dễ dàng.
Điểm:0
lá cờ vn

Vấn đề của tôi là trong lệnh ban đầu:

openssl s_client -connect smtp.office365.com:587 -crlf -starttls smtp

Và cụ thể là cờ -crlf - không có nó, tôi có thể nhập bất cứ thứ gì sau EHLO và vẫn được máy chủ SMTP chào đón và tiến tới AUTH.

Cờ dường như làm điều gì đó với các kết thúc dòng mà máy chủ SMTP này đặc biệt kén chọn. Vì vậy, lệnh này hoạt động với tôi:

openssl s_client -connect smtp.office365.com:587 -starttls smtp

Tôi đã đọc các nguồn khác đề cập đến việc thêm cờ này để giải quyết các sự cố, đối với tôi, việc xóa nó đã thực hiện thủ thuật. Tôi khuyên bất cứ ai có cùng vấn đề nên thử cả hai.

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