Русский ▾ Topics ▾ Latest version ▾ git-imap-send last updated in 2.51.0

НАЗВАНИЕ

git-imap-send — Отправить коллекцию патчей из стандартного ввода в папку IMAP

ОБЗОР

git imap-send [-v] [-q] [--[no-]curl] [(--folder|-f) <папка>]
git imap-send --list

ОПИСАНИЕ

Эта команда загружает почтовый ящик, созданный с помощью git format-patch, в папку черновиков IMAP. Это позволяет отправлять патчи как обычную электронную почту при использовании почтовых клиентов, которые не могут напрямую читать файлы почтовых ящиков. Команда также работает с любым обычным почтовым ящиком, в котором письма имеют поля From, Date и Subject в указанном порядке.

Типичное использование выглядит примерно так:

$ git format-patch --signoff --stdout --attach origin | git imap-send

ПАРАМЕТРЫ

-v
--verbose

Быть многословнее.

-q
--quiet

Тихий режим.

-f <папка>
--folder=<папка>

Указывает папку, в которой должны быть сохранены письма. Например: --folder=[Gmail]/Drafts или -f INBOX/Drafts.

--curl

Использовать libcurl для связи с сервером IMAP, если не используется туннель. Игнорируется, если Git был собран без установленного параметра USE_CURL_FOR_IMAP_SEND.

--no-curl

Общаться с сервером IMAP, используя собственные процедуры IMAP git вместо libcurl. Игнорируется, если Git был собран с установленным параметром NO_OPENSSL.

--list

Выполнить команду IMAP LIST, чтобы вывести список всех существующих папок.

КОНФИГУРАЦИЯ

Чтобы использовать инструмент, imap.folder и либо imap.tunnel, либо imap.host должны быть установлены в соответствующие значения.

Дальнейшее содержание этого раздела (в отличие от того, что было описано до данной строки), повторяет то, что может быть найдено в git-config[1]:

Warning

Missing ru/config/imap.adoc

See original version for this content.

ПОЛУЧЕНИЕ СПИСКА ДОСТУПНЫХ ПАПОК

Чтобы отправить электронное письмо в определённую папку, вам нужно знать правильное имя целевой папки в вашем почтовом ящике. Имена, такие как «Junk», «Trash» и т.д., отображаемые различными почтовыми клиентами, не обязательно являются фактическими именами папок, хранящихся на почтовом сервере вашего провайдера.

Чтобы получить правильное имя папки для использования с git imap-send, вы можете выполнить git imap-send --list. Это отобразит список допустимых имён папок. Пример такого вывода при запуске в учётной записи Gmail:

* LIST (\HasNoChildren) "/" "INBOX"
* LIST (\HasChildren \Noselect) "/" "[Gmail]"
* LIST (\All \HasNoChildren) "/" "[Gmail]/All Mail"
* LIST (\Drafts \HasNoChildren) "/" "[Gmail]/Drafts"
* LIST (\HasNoChildren \Important) "/" "[Gmail]/Important"
* LIST (\HasNoChildren \Sent) "/" "[Gmail]/Sent Mail"
* LIST (\HasNoChildren \Junk) "/" "[Gmail]/Spam"
* LIST (\Flagged \HasNoChildren) "/" "[Gmail]/Starred"
* LIST (\HasNoChildren \Trash) "/" "[Gmail]/Trash"

Здесь вы можете заметить, что правильное имя для папки «Junk» — [Gmail]/Spam, а для папки «Trash» — [Gmail]/Trash. Аналогичную логику можно использовать для определения и других папок.

ПРИМЕРЫ

Использование туннельного режима:

[imap]
    folder = "INBOX.Drafts"
    tunnel = "ssh -q -C user@example.com /usr/bin/imapd ./Maildir 2> /dev/null"

Использование прямого режима:

[imap]
    folder = "INBOX.Drafts"
    host = imap://imap.example.com
    user = bob
    pass = p4ssw0rd

Использование прямого режима с SSL:

[imap]
    folder = "INBOX.Drafts"
    host = imaps://imap.example.com
    user = bob
    pass = p4ssw0rd
    port = 123
    ; sslVerify = false
Note
Возможно, вы захотите использовать sslVerify=false при устранении неполадок, если подозреваете, что причиной проблем с подключением является то, что сертификат, который вы используете на частном сервере example.com, который вы пытаетесь настроить (или настроили), может быть неправильно проверен.

Использование интерфейса IMAP Gmail:

[imap]
    folder = "[Gmail]/Drafts"
    host = imaps://imap.gmail.com
    user = user@gmail.com
    port = 993

Gmail не позволяет использовать ваш обычный пароль для git imap-send. Если у вас настроена многофакторная аутентификация для вашей учётной записи Gmail, вы можете создать пароль для конкретного приложения для использования с git imap-send. Посетите https://security.google.com/settings/security/apppasswords, чтобы создать его. В качестве альтернативы используйте аутентификацию OAuth2.0, как описано ниже.

Note
Возможно, вам потребуется вместо этого использовать: folder = "[Google Mail]/Drafts", если вы получите ошибку, что "Папка не существует". Вы также можете выполнить git imap-send --list, чтобы получить список доступных папок.
Note
Если ваша учётная запись Gmail установлена на другой язык, отличный от английского, имя папки "Drafts" будет локализовано.

Если вы хотите использовать аутентификацию на основе OAuth2.0, вы можете указать механизм OAUTHBEARER или XOAUTH2 в своей конфигурации. Это более безопасно, чем использование паролей для конкретных приложений, а также не требует наличия многофакторной аутентификации. Вам нужно будет использовать токен доступа OAuth2.0 вместо вашего пароля при использовании этой аутентификации.

[imap]
    folder = "[Gmail]/Drafts"
    host = imaps://imap.gmail.com
    user = user@gmail.com
    port = 993
    authmethod = OAUTHBEARER

Использование интерфейса IMAP Outlook:

В отличие от Gmail, Outlook поддерживает только аутентификацию на основе OAuth2.0. Кроме того, он поддерживает только XOAUTH2 в качестве механизма.

[imap]
    folder = "Drafts"
    host = imaps://outlook.office365.com
    user = user@outlook.com
    port = 993
    authmethod = XOAUTH2

Как только коммиты будут готовы к отправке, выполните следующую команду:

$ git format-patch --cover-letter -M --stdout origin/master | git imap-send

Просто убедитесь, что вы отключили перенос строк в почтовом клиенте (веб-интерфейс Gmail всегда будет переносить строки, поэтому вам нужно использовать настоящий IMAP-клиент).

Если вы используете аутентификацию OAuth2.0, проще использовать помощников учётных данных для генерации токенов. Помощники учётных данных, предлагаемые в git-send-email[1], также могут использоваться для git imap-send.

ВНИМАНИЕ

Тем не менее, ваша ответственность — убедиться, что сообщение электронной почты, отправленное вашей почтовой программой, соответствует стандартам вашего проекта. Многие проекты не любят, когда патчи прикрепляются. Некоторые почтовые агенты будут преобразовывать патчи (например, переносить строки, отправлять их как format=flowed) таким образом, что они перестанут работать. Вы получите гневные сообщения, высмеивающие вас, если вы этого не проверите.

Thunderbird, в частности, известен своими проблемами. Пользователи Thunderbird могут посетить эту веб-страницу для получения дополнительной информации: https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email

СМ. ТАКЖЕ

GIT

Является частью пакета git[1]