Я использую библиотеку MailKit для отправки почты из приложения ASP.NET Core. Я также попытался избежать библиотеки MailKit и использовать TcpClient напрямую для отправки команд на SMTP-сервер (чтобы убедиться, что библиотека не является проблемой). SMTP-сервер Postfix расположен на сервере Linux Ubuntu 18.04, где также размещается веб-приложение.
Когда я тестирую приложение локально (на компьютере с Windows), MailKit успешно аутентифицируется, и электронная почта отправляется. Однако, когда я запускаю приложение в Linux, аутентификация в Ubuntu не выполняется (тот же сервер, порт, имя пользователя и пароль). Когда я проверяю журнал связи с сервером, проблема очевидна - когда приложение запускается на сервере Linux, приложение отправляет пользователя с правами root на SMTP-сервер. Я не указал это как имя пользователя для отправки.
Существует ли какое-либо автоматическое правило для Postfix для аутентификации пользователей? Нужна ли какая-либо дополнительная конфигурация Postfix?
(я изменил оригинальные имена пользователей и пароли).
Windows Server ...
C: AUTH LOGIN
S: 334 VXNlcm5hbWU6
C: dGVzdEB0ZXN0LmNvbQ==
S: 334 UGFzc3dvcmQ6
C: dGVzdHBhc3N3b3JkCg==
S: 235 2.7.0 Authentication successful
Linux Ubuntu Server ...
C: AUTH LOGIN
S: 334 VXNlcm5hbWU6
C: cm9vdA==
S: 334 UGFzc3dvcmQ6
C: dGVzdHBhc3N3b3JkCg==
S: 535 5.7.8 Error: authentication failed: UGFzc3dvcmQ6