Настройка sendmail для отправки электронной почты на сервер Outlook

В настоящее время я использую дистрибутив Redhat и могу отправлять электронные письма на сервер Gmail с помощью sendmail, но когда я пытаюсь использовать сервер Outlook, он создает журнал ниже в файл почтового журнала. (outlook_sender@mydomain отправить в outlook_receiver@mydomain)

Sep  7 11:23:49 localhost sendmail[12785]: starting daemon (8.14.7): SMTP+queueing@01:00:00
Sep  7 11:23:49 localhost sm-msp-queue[12803]: starting daemon (8.14.7): queueing@01:00:00
Sep  7 11:25:14 localhost sendmail[12902]: 0874PE57012902: from=root, size=219, class=0, nrcpts=1, msgid=<202009070425.0874PE57012902@localhost.localdomain>, relay=root@localhost
Sep  7 11:25:14 localhost sendmail[12903]: 0874PELI012903: from=<root@localhost.localdomain>, size=477, class=0, nrcpts=1, msgid=<202009070425.0874PE57012902@localhost.localdomain>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
Sep  7 11:25:14 localhost sendmail[12902]: 0874PE57012902: to=outlook_receiver@mydomain, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30219, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (0874PELI012903 Message accepted for delivery)
Sep  7 11:25:14 localhost sendmail[12905]: STARTTLS=client, relay=xsp-efz.ms-acdc.office.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256/256
Sep  7 11:25:19 localhost sendmail[12905]: 0874PELI012903: to=<outlook_receiver@mydomain>, ctladdr=<root@localhost.localdomain> (0/0), delay=00:00:05, xdelay=00:00:05, mailer=relay, pri=120477, relay=xsp-efz.ms-acdc.office.com. [40.100.29.34], dsn=5.0.0, stat=Service unavailable
Sep  7 11:25:19 localhost sendmail[12905]: 0874PELI012903: forward /root/.forward.localhost: World writable directory
Sep  7 11:25:19 localhost sendmail[12905]: 0874PELI012903: forward /root/.forward: World writable directory
Sep  7 11:25:19 localhost sendmail[12905]: 0874PELI012903: 0874PJLI012905: DSN: Service unavailable
Sep  7 11:25:19 localhost sendmail[12905]: 0874PJLI012905: to=<root@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=31712, dsn=2.0.0, stat=Sent

Ниже приведена конфигурация в файле sendmail.mc:

define(`SMART_HOST', `[smtp.office365.com]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash -o /etc/mail/auth/outlook_auth.db')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl

А ниже приведена конфигурация файла Outlook_auth:

AuthInfo:smtp.office365.com "U:root" "I:outlook_sender@mydomain" "P:outlook_password" "M:PLAIN"

Когда Я меняю smart_host с smtp.office365.com на smtp.gmail.com, изменяю файл Outlook_auth на файл gmail_auth, как показано ниже, сопоставляю файл sendmail.mc с файлом sendmail.cf затем перезапустите sendmail, он работает нормально.

AuthInfo:smtp.gmail.com "U:root" "I:gmail_sender@mydomain" "P:gmail_password" "M:PLAIN"

Я не очень хорошо разбираюсь в том, как работает система SMTP, только вчера провел небольшое исследование и настроил sendmail, так что если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Ниже приведен журнал в корневом файле (/var/spool/):

Reporting-MTA: dns; localhost.localdomain
Received-From-MTA: DNS; localhost
Arrival-Date: Tue, 8 Sep 2020 09:06:09 +0700

Final-Recipient: RFC822; outlook_receiver@mydomain
Action: failed
Status: 5.7.57
Diagnostic-Code: SMTP; 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [SG2PR06CA0235.apcprd06.prod.outlook.com]
Last-Attempt-Date: Tue, 8 Sep 2020 09:06:14 +0700

--08826EuC010437.1599530774/localhost.localdomain
Content-Type: message/rfc822

Return-Path: <root@localhost.localdomain>
Received: from localhost.localdomain (localhost [127.0.0.1])
    by localhost.localdomain (8.14.7/8.14.7) with ESMTP id 088268uC010433
    for <outlook_receiver@mydomain>; Tue, 8 Sep 2020 09:06:09 +0700
Received: (from root@localhost)
    by localhost.localdomain (8.14.7/8.14.7/Submit) id 088268ti010432
    for outlook_receiver@mydomain; Tue, 8 Sep 2020 09:06:08 +0700
From: root <root@localhost.localdomain>
Message-Id: <202009080206.088268ti010432@localhost.localdomain>
Date: Tue, 08 Sep 2020 09:06:08 +0700
To: outlook_receiver@mydomain
Subject: test subject
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

test content.

--08826EuC010437.1599530774/localhost.localdomain--
0
задан 8 September 2020 в 06:06
1 ответ

Во-первых, необходимо добавить Partner Connector в центр администрирования Office365 Exchange. Затем добавьте туда IP-адрес вашего сервера.

Теперь в вашей конфигурации SendMail MTA добавьте это

define(`SMART_HOST',`[MX-OF-YOUR-OFFICE365-DOMAIN]')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 25')dnl
define(`confAUTH_OPTIONS', `A p')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl

Убедитесь, что вы заменили MX-OF-ВАШЕГО-OFFICE365-DOMAIN, используя ваш домен Office365 MX.

Если вы хотите использовать клиент аутентификации Office365, следуйте этим инструкциям.

Обновить доступ с помощью пропуска SMTP-идентификатора пользователя Office365

sudo nano /etc/mail/authinfo/office365-auth
AuthInfo: "U:root" "I:sender@domain.tld" "P:YOUR-PASSWORD"

Создать хэш-файл с использованием файла аутентификации

sudo makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo/office365-auth

Регенерировать файл БД sudo makemap hash /etc/mail/access.db < /etc/mail/access

После этой проблемы

make -C /etc/mail
/etc/init.d/sendmail reload

Попробуйте отправить почту позже.

1
ответ дан 28 September 2021 в 20:07

Теги

Похожие вопросы