Я хочу попробовать подключить свой почтовый клиент mutt к своей учетной записи Google. Однако эта учетная запись управляется (G Suite), и мы входим в нее через то, что выглядит как Active Directory. Я хотел бы подключить mutt к этой учетной записи, но подозреваю, что это не удается из-за одной из двух причин (или обеих):

  • Ошибка входа, потому что я не вошел в Active Directory
  • Я ввел неверную информацию в свой файл конфигурации из-за личного доменного имени, которое использует наша организация (G Suite).

Предполагая, что :

  • Мой адрес электронной почты foo@bar.org,
  • Мой пароль (при входе через Active Directory) aBcD1234,

Мой файл конфигурации выглядит так:

# ~/.muttrc
# ~~~~~~~~~
set from = "foo@bar.org"
set realname = "Foo Barrington"

set smtp_url = "smtps://foo@bar.org"
set smtp_pass = "aBcD1234"
set record = ""

set imap_user = "foo@bar.org"
set imap_pass = "aBcD1234"

set folder = imaps://imap.gmail.com
set spoolfile = +INBOX
set record "+[Gmail]/Sent Mail"
set postponed = "+[Gmail]/drafts"

Мой вопрос: возможно ли это? Если да, то что я делаю неправильно?

Я использовал руководство, представленное на веб-сайте Mutt. Как и всякую хорошую документацию, я не могу ее найти, но буду продолжать искать. Пожалуйста, не стесняйтесь задавать уточняющие вопросы.

: D

РЕДАКТИРОВАТЬ: ах, забыл поля пароля

1
user396530 21 Фев 2020 в 03:12

1 ответ

Из вашего описания я понимаю, что у вашей компании есть поставщик IDaaS для аутентификации. Лучшее, что вы можете сделать, это использовать OAuth2. Возможно, он также может работать с паролями для конкретных приложений Google, но администраторы должны включить его в G Suite. Кроме того, вскоре Google начал отключать все другие варианты, кроме OAuth2 ссылка.

К счастью, mutt и neomutt поддерживают OAuth2 — см. mutt или neomutt документы. Шаги те же, конфигурация тоже должна быть такой же.

  • Загрузите скрипт oauth2.py из Google/ репозиторий gmail-oauth2-tools и сделать его исполняемым
  • Создать учетные данные
  • Создать токен обновления

Наконец собрал все вместе в конфигурации.

set from = "foo@bar.org"
set realname = "Foo Barrington"

set smtp_url = "smtps://foo@bar.org@gmail.com"
set smtp_authenticators = "oauthbearer"
set smtp_oauth_refresh_command = "/path/to/oauth2.py --quiet \
  --user=foo@bar.org \
  --client_id=CLIENT_ID \
  --client_secret=CLIENT_SECRET \
  --refresh_token=REFRESH_TOKEN"

set smtp_authenticators = $smtp_authenticators
set imap_oauth_refresh_command = $smtp_oauth_refresh_command 

set folder = "imaps://foo@bar.org@imap.gmail.com:993/"
set spoolfile = +INBOX
set record "+[Gmail]/Sent Mail"
set postponed = "+[Gmail]/drafts"
set record = ""

Не забудьте изменить:

  • все вхождения foo@bar.org на Ваш адрес электронной почты,
  • /path/to/oauth2.py на путь, где он хранится,
  • CLIENT_ID, CLIENT_SECRET и REFRESH_TOKEN со значениями, которые вы получили при создании учетных данных и генерировании токена обновления< /em> перед — шаги из документации mutt/neomutt.

Также храните свои учетные данные и токен обновления в безопасности. Воспользуйтесь каким-нибудь менеджером паролей и извлеките оттуда пароли при запуске mutt. См. раздел Mutt: как безопасно хранить пароль?

0
Jakub Jindra 21 Фев 2020 в 16:35