Tôi có thể gửi email SMTP qua hộp thư dùng chung Office365 không?


13

Chúng tôi đang suy nghĩ về việc chuyển sang O365; tuy nhiên, chúng tôi đã phát triển phần mềm sử dụng máy chủ Exchange hiện tại của chúng tôi để gửi email cho cả người dùng bên ngoài cũng như tới hộp hỗ trợ khi xảy ra lỗi.

Tôi đã thử nghiệm điều này để đảm bảo rằng mã chúng tôi có sẽ tiếp tục hoạt động với O365 nhưng cho đến nay, tôi vẫn chưa thành công.

Tôi đã thử sử dụng SmtpClient của .Net cũng như SmtpClient của MailKit và dường như không ai hoạt động. Tôi liên tục gặp lỗi (đây là lỗi từ MailKit - lỗi .Net tương tự)

"Xác thựcInvalidCredentials: 5.7.3 Xác thực không thành công [* .prod.exchangelabs.com]"

Tôi có thể sử dụng thông tin đăng nhập mà tôi có trong mã của mình để đăng nhập vào OWA - vì vậy tôi biết thông tin đăng nhập hợp lệ. Có phải là không thể gửi email qua O356? Có cấu hình đặc biệt nào phải xảy ra trong Exchange để thực hiện điều này không?

Đây là những gì tôi đã thử cho đến nay:

MailKit

var msg = new MimeMessage();
msg.From.Add(new MailboxAddress("Support","support@mydomain.com"));
msg.To.Add(new MailboxAddress("Me","me@mydomain.com"));
msg.To.Add(new MailboxAddress("External User","euser@externaldomain.com"));
msg.Subject = "Test";
msg.Body = new TextPart("plain"){
   Text = "Here is a message for you"
};
using(var client = new SmtpClient()){
    client.ServerCertificateValidationCallback = (s,c,h,e) => true;
    client.AuthenticationMechanisms.Remove("XOAUTH2"); //Not sure what this does.  Have tried with and without
    client.Connect("smtp.office365.com", 587, MailKit.Security.SecureSocketOptions.StartTls);
    client.Authenticate(new NetworkCredential("support@mydomain.com", "supportPwd"));
    client.Send(msg);
    client.Disconnect(true);
}

Mã .Net SmtpClient trông rất giống với mã MailKit.

  1. Có cách nào để gửi qua O365 với người dùng được cấp phép không? (mã ở trên)
  2. Có bất kỳ cài đặt đặc biệt nào được yêu cầu trong Exchange hoặc trên người dùng được cấp phép để thực hiện công việc này không? (Nếu câu trả lời cho 1 là có)
  3. Có thể gửi email thông qua hộp thư chung mà người dùng được ủy quyền có quyền Gửi dưới dạng không?

Cập nhật

Tôi vẫn nhận được thông báo lỗi tương tự. Chúng tôi đã kích hoạt MFA cho người dùng tên miền của chúng tôi. Tuy nhiên, chúng tôi có chính sách không yêu cầu MFA cho người dùng khi họ đăng nhập từ một địa điểm đáng tin cậy (IP của chúng tôi). Tôi cũng liệt kê IP của chúng tôi là IP đáng tin cậy. Trong tâm trí của tôi, MFA không nên là vấn đề ở đây.

Tôi biết các thông tin là chính xác. Tôi đã sao chép chúng từ mã và dán chúng vào màn hình đăng nhập khi đăng nhập vào M365 - và tôi đã ổn.

Tôi đang làm gì sai?

Câu trả lời:


7
  1. Vâng, bạn có thể.

  2. Thiết lập người dùng: Ảnh chụp màn hình của Trung tâm quản trị Ảnh chụp màn hình của Quản lý ứng dụng email

Cài đặt máy chủ: https://support.office.com/en-us/article/POP-IMAP-and-SMTP-sinstall-for-Outlook-com-d088b986-291d-42b8-9564-9c414e2aa040

SMTP server name smtp.office365.com

SMTP port 587

SMTP encryption method STARTTLS
  1. Không, bạn không thể. Bạn cần một người dùng được cấp phép để gửi thư qua SMTP.

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_o365admin/set-up-smtp-relay-with- shared-mailbox / d7b98214-9564-432c-b098-525a98c529fb

Một khách hàng của chúng tôi có một hệ thống bản tin được thiết lập với TYPO3 và chúng tôi đã phải tạo một hộp thư mới cho việc này. Tuy nhiên, một điều nhẹ nhàng sẽ đủ: thay vì Office 365 Business Premium, chúng tôi chỉ gán giấy phép Office 365 F1.

Chỉnh sửa: cũng tìm thấy điều này: Hộp thư dùng chung Office365 có thể sử dụng SMTP không?


Vì vậy, dường như để trả lời câu hỏi của tôi về Hộp thư chung. Nhưng trong mã ban đầu của tôi, tôi đang làm việc với một người dùng được cấp phép và điều đó cũng không hoạt động - phải không?
Rharris

@RHarris đúng vậy. Xem câu trả lời chỉnh sửa. Xin lỗi vì trả lời đầu tiên không đầy đủ.
Wolfgang Jacques

0

Đối với bất kỳ ai đang gặp vấn đề tương tự, tôi thấy rằng vấn đề của tôi là Chính sách truy cập có điều kiện. Microsoft cung cấp một Baseline Policy: Block Legacy Authentication- đã được bật trong AAD của chúng tôi.

Khi xem Chính sách, nó được thiết kế để BLOCK bất kỳ cơ chế xác thực nào không yêu cầu MFA. Điều này bao gồm những thứ như POP và SMTP. Khi tôi vô hiệu hóa chính sách này, mã được liệt kê ở trên chỉ hoạt động tốt.

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.