українська мова ▾ Topics ▾ Latest version ▾ git-send-email last updated in 2.51.0

НАЗВА

git-send-email - Надіслати колекцію патчів електронною поштою

СИНОПСИС

git send-email [<options>] (<file>|<directory>)…​
git send-email [<options>] <format-patch-options>
git send-email --dump-aliases
git send-email --translate-aliases

ОПИС

Бере патчі, задані в командному рядку, та надсилає їх електронною поштою. Патчі можна вказати як файли, каталоги (що надсилатиме всі файли в каталозі) або безпосередньо як список версій. В останньому випадку, будь-який формат, прийнятий git-format-patch[1], може бути переданий до git send-email, як і опції, що розуміються git-format-patch[1].

Заголовок електронного листа можна налаштувати за допомогою параметрів командного рядка. Якщо його не вказано в командному рядку, користувачеві буде запропоновано надати необхідну інформацію через інтерфейс ReadLine.

Для файлів патчів прийнятні два формати:

  1. файли формату mbox

    Ось що генерує git-format-patch[1]. Більшість заголовків та MIME-форматування ігноруються.

  2. Оригінальний формат, який використовувався скриптом send_lots_of_email.pl Грега Кроа-Хартмана

    У цьому форматі перший рядок файлу має містити значення Cc:, а другий рядок — Subject: повідомлення.

ОПЦІЇ

Композиція

--annotate

Перегляньте та відредагуйте кожен патч, який ви збираєтеся надіслати. Значення за замовчуванням – sendemail.annotate. Дивіться розділ КОНФІГУРАЦІЯ для sendemail.multiEdit.

--bcc=<address>,…​

Вкажіть значення Прихована копія: для кожного електронного листа. За замовчуванням використовується значення sendemail.bcc.

Цей параметр можна вказати кілька разів.

--cc=<address>,…​

Вкажіть початкове значення поля «Копія» для кожного електронного листа. За замовчуванням використовується значення sendemail.cc.

Цей параметр можна вказати кілька разів.

--compose

Викличте текстовий редактор (див. GIT_EDITOR у git-var[1]), щоб відредагувати вступне повідомлення для серії патчів.

Коли використовується --compose, git send-email використовуватиме заголовки From, To, Cc, Bcc, Subject, Reply-To та In-Reply-To, зазначені в повідомленні. Якщо тіло повідомлення (те, що ви вводите після заголовків та порожнього рядка) містить лише порожні (або рядки з префіксом Git:), короткий виклад не буде надіслано, але згадані вище заголовки будуть використані, якщо їх не видалити.

Буде запропоновано ввести відсутні заголовки From або In-Reply-To.

Дивіться розділ КОНФІГУРАЦІЯ для sendemail.multiEdit.

--from=<address>

Вкажіть відправника електронних листів. Якщо не вказано в командному рядку, використовується значення параметра конфігурації sendemail.from. Якщо ні параметр командного рядка, ні sendemail.from не встановлено, користувачеві буде запропоновано ввести значення. Значенням за замовчуванням для запиту буде GIT_AUTHOR_IDENT або GIT_COMMITTER_IDENT, якщо воно не встановлено, як повертається git var -l.

--reply-to=<address>

Вкажіть адресу, на яку мають надходити відповіді від одержувачів. Використовуйте це, якщо відповіді на повідомлення мають надходити на адресу, відмінну від тієї, що вказана параметром --from.

--in-reply-to=<identifier>

Зробити так, щоб перший лист (або всі листи з --no-thread) відображалися як відповідь на заданий ідентифікатор повідомлення, що дозволяє уникнути розриву потоків для створення нової серії патчів. Другий та наступні листи будуть надіслані як відповіді відповідно до налаштування --[no-]chain-reply-to.

Наприклад, коли вказано --thread та --no-chain-reply-to, другий та наступні патчі будуть відповідями на перший, як на ілюстрації нижче, де [PATCH v2 0/3] є відповіддю на [PATCH 0/2]:

[PATCH 0/2] Here is what I did...
  [PATCH 1/2] Clean up and tests
  [PATCH 2/2] Implementation
  [PATCH v2 0/3] Here is a reroll
    [PATCH v2 1/3] Clean up
    [PATCH v2 2/3] New tests
    [PATCH v2 3/3] Implementation

Потрібно лише якщо також встановлено --compose. Якщо --compose не встановлено, буде запропоновано це зробити.

--[no-]outlook-id-fix

SMTP-сервери Microsoft Outlook відкидають ідентифікатор повідомлення, надісланий електронною поштою, та призначають новий випадковий ідентифікатор повідомлення, таким чином розриваючи потоки.

З параметром --outlook-id-fix, git send-email використовує механізм, специфічний для серверів Outlook, щоб дізнатися Message-ID, який сервер призначив для виправлення потоків. Використовуйте його лише тоді, коли ви знаєте, що сервер повідомляє про переписаний Message-ID так само, як і сервери Outlook.

Якщо цей параметр не вказано, виправлення виконується за замовчуванням під час зв’язку з «smtp.office365.com» або «smtp-mail.outlook.com». Використовуйте --no-outlook-id-fix, щоб вимкнути навіть під час зв’язку з цими двома серверами.

--subject=<string>

Вкажіть початкову тему електронного листа. Потрібно лише якщо також встановлено параметр --compose. Якщо параметр --compose не встановлено, буде запропоновано ввести цю тему.

--to=<address>,…​

Вкажіть основного одержувача згенерованих електронних листів. Зазвичай це буде відповідальний за розробку проекту. За замовчуванням використовується значення конфігурації sendemail.to; якщо воно не вказано, а --to-cmd не вказано, буде запропоновано його ввести.

Цей параметр можна вказати кілька разів.

--8bit-encoding=<encoding>

Якщо повідомлення або тема не вказано в кодуванні ASCII, додайте заголовки/лапки, щоб вказати, що кодування вказано в <encoding>. За замовчуванням використовується значення sendemail.assume8bitEncoding; якщо це значення не вказано, запит на його введення буде з’явитися, якщо будуть знайдені файли, що не входять до ASCII.

Зверніть увагу, що жодних спроб перевірити кодування не робиться.

--compose-encoding=<encoding>

Вкажіть кодування повідомлення для створення. За замовчуванням використовується значення sendemail.composeEncoding; якщо воно не вказано, передбачається UTF-8.

--transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)

Вкажіть кодування передачі, яке буде використовуватися для надсилання повідомлення через SMTP. 7bit завершиться помилкою, якщо буде виявлено повідомлення, яке не є ASCII. quoted-printable може бути корисним, коли репозиторій містить файли, що містять символи повернення каретки, але значно ускладнює перевірку необробленого файлу електронної пошти з патчем (збереженого з MUA). base64 ще більш надійний, але також ще більш непрозорий. auto використовуватиме 8bit, коли це можливо, та quoted-printable в іншому випадку.

За замовчуванням використовується значення конфігурації sendemail.transferEncoding; якщо воно не вказано, за замовчуванням використовується значення auto.

--xmailer
--no-xmailer

Додати (або заборонити додавання) заголовка X-Mailer:. За замовчуванням заголовок додається, але його можна вимкнути, встановивши для змінної конфігурації sendemail.xmailer значення false.

Надсилання

--envelope-sender=<address>

Вкажіть відправника конверта, який використовується для надсилання електронних листів. Це корисно, якщо ваша адреса за замовчуванням не є адресою, підписаною на список розсилки. Щоб використовувати адресу From, встановіть значення auto. Якщо ви використовуєте двійковий файл sendmail, ви повинні мати відповідні права для параметра -f. За замовчуванням використовується значення змінної конфігурації sendemail.envelopeSender; якщо це не вказано, вибір відправника конверта залишається на розсуд вашого MTA.

--sendmail-cmd=<command>

Вкажіть команду для надсилання електронного листа. Команда має бути схожою на sendmail; зокрема, вона повинна підтримувати параметр -i. Команда буде виконана в оболонці, якщо необхідно. За замовчуванням використовується значення sendemail.sendmailCmd. Якщо не вказано, а також не вказано --smtp-server, git send-email шукатиме sendmail у /usr/sbin, /usr/lib та $PATH.

--smtp-encryption=<encryption>

Вкажіть, яким чином починається шифрування для SMTP-з’єднання. Дійсні значення: ssl та tls. Будь-яке інше значення повертається до звичайного (незашифрованого) SMTP, який за замовчуванням використовує порт 25. Незважаючи на назви, обидва значення використовуватимуть ту саму новішу версію TLS, але з історичних причин мають ці назви. ssl стосується «неявного» шифрування (іноді його називають SMTPS), яке за замовчуванням використовує порт 465. tls стосується «явного» шифрування (часто відомого як STARTTLS), яке за замовчуванням використовує порт 25. SMTP-сервер може використовувати інші порти, які не є портами за замовчуванням. Найпоширенішим альтернативним портом для tls та незашифрованого з’єднання є 587. Вам потрібно перевірити документацію вашого постачальника або конфігурацію вашого сервера, щоб переконатися у вашому випадку. Значення за замовчуванням – sendemail.smtpEncryption.

--smtp-domain=<FQDN>

Вказує повне доменне ім’я (FQDN), яке використовується в команді HELO/EHLO для SMTP-сервера. Деякі сервери вимагають, щоб FQDN збігалося з вашою IP-адресою. Якщо не встановлено, git send-email намагається визначити ваше FQDN автоматично. Значення за замовчуванням — sendemail.smtpDomain.

--smtp-auth=<mechanisms>

Список дозволених механізмів SMTP-AUTH, розділених пробілами. Цей параметр примусово використовує лише перелічені механізми. Приклад:

$ git send-email --smtp-auth="PLAIN LOGIN GSSAPI" ...

Якщо хоча б один із зазначених механізмів відповідає тим, що рекламуються SMTP-сервером, і якщо він підтримується використаною бібліотекою SASL, цей механізм використовується для автентифікації. Якщо не вказано ні sendemail.smtpAuth, ні --smtp-auth, можна використовувати всі механізми, що підтримуються бібліотекою SASL. Спеціальне значення none може бути вказано для повного вимкнення автентифікації незалежно від --smtp-user.

--smtp-pass[=<password>]

Пароль для SMTP-AUTH. Аргумент необов’язковий: якщо аргумент не вказано, то як пароль використовується порожній рядок. Значення за замовчуванням — sendemail.smtpPass, проте --smtp-pass завжди замінює це значення.

Крім того, паролі не потрібно вказувати у файлах конфігурації або в командному рядку. Якщо ім’я користувача було вказано (за допомогою --smtp-user або sendemail.smtpUser), але пароль не було вказано (за допомогою --smtp-pass або sendemail.smtpPass), то пароль отримується за допомогою git-credential[1].

--no-smtp-auth

Вимкнути SMTP-автентифікацію. Скорочена форма --smtp-auth=none.

--smtp-server=<host>

Якщо встановлено, вказує вихідний SMTP-сервер для використання (наприклад, smtp.example.com або необроблену IP-адресу). Якщо не вказано, а також якщо --sendmail-cmd не вказано, за замовчуванням sendmail шукається в /usr/sbin, /usr/lib та $PATH, якщо така програма доступна, в іншому випадку повертається до localhost.

Для зворотної сумісності цей параметр також може вказувати повний шлях до програми, подібної до sendmail; програма повинна підтримувати параметр -i. Цей метод не підтримує передачу аргументів або використання простих імен команд. У таких випадках використання розгляньте можливість використання --sendmail-cmd.

--smtp-server-port=<port>

Вказує порт, відмінний від порту за замовчуванням (SMTP-сервери зазвичай прослуховують smtp-порт 25, але також можуть прослуховувати порт надсилання 587 або загальний SSL-smtp-порт 465); також приймаються символічні назви портів (наприклад, submission замість 587). Порт також можна встановити за допомогою змінної конфігурації sendemail.smtpServerPort.

--smtp-server-option=<option>

Якщо встановлено, вказує на опцію вихідного SMTP-сервера, яку слід використовувати. Значення за замовчуванням можна вказати за допомогою опції конфігурації sendemail.smtpServerOption.

Опцію --smtp-server-option потрібно повторити для кожної опції, яку потрібно передати серверу. Аналогічно, для кожної опції потрібно використовувати різні рядки у файлах конфігурації.

--smtp-ssl

Застарілий псевдонім для --smtp-encryption ssl.

--smtp-ssl-cert-path

Шлях до сховища довірених сертифікатів CA для перевірки сертифікатів SMTP SSL/TLS (або каталог, оброблений c_rehash, або окремий файл, що містить один або кілька сертифікатів формату PEM, об’єднаних разом: див. опис опцій -CAfile <file> та -CApath <dir> на https://docs.openssl.org/master/man1/openssl-verify/ [сторінка довідника OpenSSL verify(1)] для отримання додаткової інформації про них). Встановіть значення порожнього рядка, щоб вимкнути перевірку сертифіката. За замовчуванням використовується значення змінної конфігурації sendemail.smtpSSLCertPath, якщо вона встановлена, або скомпільоване значення за замовчуванням бібліотеки SSL, якщо воно не встановлено (що має бути найкращим вибором на більшості платформ).

--smtp-user=<user>

Ім’я користувача для SMTP-AUTH. Значення за замовчуванням – sendemail.smtpUser; якщо ім’я користувача не вказано (з --smtp-user або sendemail.smtpUser), то спроба автентифікації не виконується.

--smtp-debug=(0|1)

Увімкнути (1) або вимкнути (0) вивід налагодження. Якщо ввімкнено, команди та відповіді SMTP будуть виведені. Корисно для налагодження проблем з підключенням TLS та автентифікацією.

--batch-size=<num>

Деякі поштові сервери (наприклад, smtp.163.com) обмежують кількість електронних листів, що надсилаються за сеанс (з’єднання), і це призведе до збою під час надсилання великої кількості повідомлень. З цією опцією send-email відключиться після надсилання <num> повідомлень і зачекає кілька секунд (див. --relogin-delay), а потім знову підключиться, щоб обійти таке обмеження. Ви можете використовувати певний помічник з обліковими даними, щоб уникнути необхідності повторно вводити пароль щоразу, коли це трапляється. За замовчуванням використовується змінна конфігурації sendemail.smtpBatchSize.

--relogin-delay=<int>

Очікування <int> секунд перед повторним підключенням до SMTP-сервера. Використовується разом з опцією --batch-size. За замовчуванням використовується змінна конфігурації sendemail.smtpReloginDelay.

Автоматизація

--no-to
--no-cc
--no-bcc

Очищає будь-який список адрес "Кому:", "Копія:", "Прихована копія:", попередньо встановлений через конфігурацію.

--no-identity

Очищає раніше зчитане значення sendemail.identity, встановлене через конфігурацію, якщо таке є.

--to-cmd=<command>

Вкажіть команду, яку потрібно виконати один раз для кожного файлу патча, щоб генерувати записи Кому:, специфічні для файлу патча. Вивід цієї команди має бути однією адресою електронної пошти на рядок. За замовчуванням використовується значення конфігурації sendemail.toCmd.

--cc-cmd=<command>

Вкажіть команду, яку потрібно виконати один раз для кожного файлу патча, щоб створити записи Cc:, специфічні для файлу патча. Вивід цієї команди має бути однією адресою електронної пошти на рядок. За замовчуванням використовується значення конфігурації sendemail.ccCmd.

--header-cmd=<command>

Вкажіть команду, яка виконується один раз для кожного вихідного повідомлення, та виведіть рядки заголовків у стилі RFC 2822, які потрібно вставити в них. Якщо встановлено змінну конфігурації sendemail.headerCmd, її значення завжди використовується. Якщо в командному рядку вказано --header-cmd, її значення має пріоритет над значенням змінної конфігурації sendemail.headerCmd.

--no-header-cmd

Вимкніть будь-яку команду заголовка, що використовується.

--[no-]chain-reply-to

Якщо це встановлено, кожен електронний лист буде надіслано як відповідь на попередньо надісланий електронний лист. Якщо вимкнено за допомогою --no-chain-reply-to, усі електронні листи після першого будуть надіслані як відповіді на перший надісланий електронний лист. Під час використання цього рекомендується, щоб перший наданий файл був оглядом усієї серії патчів. За замовчуванням вимкнено, але для його ввімкнення можна використовувати змінну конфігурації sendemail.chainReplyTo.

--identity=<identity>

Ідентифікатор конфігурації. Якщо задано, значення в підрозділі sendemail.<identity> матимуть пріоритет над значеннями в розділі sendemail. Ідентифікатором за замовчуванням є значення sendemail.identity.

--[no-]signed-off-by-cc

Якщо це значення встановлено, до списку копій додаються електронні адреси, знайдені в трейлері Signed-off-by або рядках Cc:. За замовчуванням використовується значення конфігурації sendemail.signedOffByCc; якщо це значення не вказано, за замовчуванням використовується --signed-off-by-cc.

--[no-]cc-cover

Якщо це значення встановлено, електронні листи, знайдені в заголовках Cc: у першому патчі серії (зазвичай супровідний лист), додаються до списку копій для кожного набору електронних листів. Значення за замовчуванням – це значення конфігурації sendemail.ccCover; якщо воно не вказано, значення за замовчуванням – --no-cc-cover.

--[no-]to-cover

Якщо це значення встановлено, електронні листи, знайдені в заголовках To: у першому патчі серії (зазвичай супровідний лист), додаються до списку "Кому" для кожного набору електронних листів. Значення за замовчуванням – це значення конфігурації sendemail.toCover; якщо воно не вказано, значення за замовчуванням – --no-to-cover.

--suppress-cc=<category>

Вкажіть додаткову категорію одержувачів, щоб приховати автоматичне надсилання копії:

  • author уникатиме врахування автора патча.

  • self уникатиме вказівки відправника.

  • cc уникатиме включення будь-кого, згаданого в рядках Cc у заголовку патча, окрім self (для цього використовуйте self).

  • bodycc уникне включення будь-кого, згаданого в рядках Cc, до тіла патча (повідомлення коміту), окрім self (для цього використовуйте self).

  • sob уникатиме врахування будь-кого, згаданого в трейлерах Signed-off-by, окрім себе (для цього використовуйте self).

  • misc-by уникатиме включати будь-кого, згаданого в рядках Acked-by, Reviewed-by, Tested-by та інших рядках з "-by" в тілі патча, окрім Signed-off-by (для цього використовуйте sob).

  • cccmd уникне запуску --cc-cmd.

  • body еквівалентно sob + bodycc + misc-by.

  • all придушить усі значення автоматичного копіювання.

Значення за замовчуванням – це значення конфігурації sendemail.suppressCc; якщо воно не вказано, за замовчуванням використовується self, якщо вказано --suppress-from, а також body, якщо вказано --no-signed-off-cc.

--[no-]suppress-from

Якщо це значення встановлено, не додавати адресу From: до списку Cc:. За замовчуванням використовується значення конфігурації sendemail.suppressFrom; якщо це значення не вказано, за замовчуванням використовується --no-suppress-from.

--[no-]thread

Якщо це встановлено, заголовки In-Reply-To та References будуть додаватися до кожного надісланого електронного листа. Те, чи посилається кожен лист на попередній лист (глибока потоковість згідно з формулюванням git format-patch), чи на перший лист (поверхнева потоковість), визначається --[no-]chain-reply-to.

Якщо вимкнено за допомогою --no-thread, ці заголовки не будуть додані (якщо не вказано за допомогою --in-reply-to). За замовчуванням використовується значення конфігурації sendemail.thread; якщо воно не вказано, за замовчуванням використовується --thread.

Користувач повинен переконатися, що заголовок In-Reply-To ще не існує, коли git send-email запитується на його додавання (особливо зверніть увагу, що git format-patch можна налаштувати на власне виконання потоків). Невиконання цієї вимоги може не призвести до очікуваного результату в MUA одержувача.

--[no-]mailmap

Використовуйте файл mailmap (див. gitmailmap[5]), щоб зіставити всі адреси з їхнім канонічним справжнім іменем та адресою електронної пошти. Додаткові дані mailmap, специфічні для git send-email, можна надати за допомогою значень конфігурації sendemail.mailmap.file або sendemail.mailmap.blob. За замовчуванням sendemail.mailmap.

Адміністрування

--confirm=<mode>

Підтвердіть безпосередньо перед відправкою:

  • always завжди підтверджуватиме перед відправкою.

  • never ніколи не підтверджуватиме перед відправкою.

  • cc підтвердить перед надсиланням, коли send-email автоматично додасть адреси з патча до списку копій.

  • compose підтвердить надсилання першого повідомлення при використанні --compose.

  • auto еквівалентно cc + compose.

Значення за замовчуванням – це значення конфігурації sendemail.confirm; якщо воно не вказано, за замовчуванням використовується значення auto, якщо не було вказано жодного з параметрів придушення, у такому разі за замовчуванням використовується значення compose.

--dry-run

Зробіть усе, крім фактичного надсилання електронних листів.

--[no-]format-patch

Коли аргумент можна розуміти або як посилання, або як ім’я файлу, виберіть, чи розуміти його як аргумент format-patch (--format-patch), або як ім’я файлу (--no-format-patch). За замовчуванням, коли виникає такий конфлікт, git send-email завершиться невдачею.

--quiet

Зробіть git send-email менш багатослівним. Один рядок на кожен електронний лист має бути виведений повністю.

--[no-]validate

Виконуйте перевірки на безпеку патчів. Наразі валідація означає наступне:

  • Викликати гачок sendemail-validate, якщо він є (див. githooks[5]).

  • Попереджати про латки, що містять лінії, довші за 998 символів, якщо не використовується відповідне кодування для передачі (auto, base64 або quoted-printable); це пов’язано з обмеженнями SMTP, як описано в https://www.ietf.org/rfc/rfc5322.txt.

Значення за замовчуванням – це sendemail.validate; якщо це значення не встановлено, використовується значення --validate.

--force

Надсилайте електронні листи, навіть якщо цьому забороняють перевірки безпеки.

Інформація

--dump-aliases

Замість звичайної операції, виведіть скорочені псевдоніми з налаштованого(их) файлу(ів) псевдонімів, по одному на рядок в алфавітному порядку. Зверніть увагу, що це включає лише псевдонім, а не його розширені адреси електронної пошти. Див. sendemail.aliasesFile для отримання додаткової інформації про псевдоніми.

--translate-aliases

Замість звичайної операції, читати зі стандартного вводу та інтерпретувати кожен рядок як псевдонім електронної пошти. Перекладати його відповідно до налаштованого(их) файлу(ів) псевдонімів. Виводити кожне перекладене ім’я та адресу електронної пошти на стандартний вивід, по одному на рядок. Див. sendemail.aliasFile для отримання додаткової інформації про псевдоніми.

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

Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:

Warning

Missing uk/config/sendemail.adoc

See original version for this content.

ПРИКЛАДИ SMTP-СЕРВЕРІВ

Використовуйте Gmail як SMTP-сервер

Щоб використовувати git send-email для надсилання патчів через SMTP-сервер Gmail, відредагуйте ~/.gitconfig, щоб вказати налаштування облікового запису:

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.gmail.com
	smtpUser = yourname@gmail.com
	smtpServerPort = 587

Gmail не дозволяє використовувати ваш звичайний пароль для git send-email. Якщо у вашому обліковому записі Gmail налаштовано багатофакторну автентифікацію, ви можете створити пароль для програми, який використовуватиметься з git send-email. Щоб створити його, відвідайте сторінку https://security.google.com/settings/security/apppasswords.

Або ж замість використання пароля для програми ви можете використовувати автентифікацію OAuth2.0 з Gmail. OAuth2.0 безпечніший за паролі для програми та працює незалежно від того, чи налаштовано багатофакторну автентифікацію. OAUTHBEARER та XOAUTH2 – це поширені механізми, що використовуються для цього типу автентифікації. Gmail підтримує обидва. Наприклад, якщо ви хочете використовувати OAUTHBEARER, відредагуйте файл ~/.gitconfig та додайте smtpAuth = OAUTHBEARER до налаштувань облікового запису:

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.gmail.com
	smtpUser = yourname@gmail.com
	smtpServerPort = 587
	smtpAuth = OAUTHBEARER

Іншою альтернативою є використання інструменту, розробленого Google, відомого як sendgmail, для надсилання електронних листів за допомогою git send-email.

Використовуйте Microsoft Outlook як SMTP-сервер

На відміну від Gmail, Microsoft Outlook більше не підтримує паролі для окремих програм. Тому для Outlook необхідно використовувати автентифікацію OAuth2.0. Крім того, він підтримує лише механізм автентифікації XOAUTH2.

Відредагуйте ~/.gitconfig, щоб вказати налаштування облікового запису для Outlook та використовувати його SMTP-сервер за допомогою git send-email:

[sendemail]
	smtpEncryption = tls
	smtpServer = smtp.office365.com
	smtpUser = yourname@outlook.com
	smtpServerPort = 587
	smtpAuth = XOAUTH2

НАДСИЛАННЯ ПАТЧІВ

Як тільки ваші коміти будуть готові до надсилання до списку розсилки, виконайте такі команди:

$ git format-patch --cover-letter -M origin/master -o outgoing/
$ edit outgoing/0000-*
$ git send-email outgoing/*

Під час першого запуску вам буде запропоновано ввести облікові дані. Введіть пароль для програми або звичайний пароль, залежно від обставин.

Якщо у вас налаштовано допоміжний засіб облікових даних (див. git-credential[1]), пароль буде збережено у сховищі облікових даних, тому вам не доведеться вводити його наступного разу.

Якщо ви використовуєте автентифікацію OAuth2.0, вам потрібно буде використовувати токен доступу замість пароля, коли буде запропоновано. Різні генератори токенів OAuth2.0 доступні в Інтернеті. Також доступні помічники з обліковими даними, що підтримуються спільнотою:

  • git-credential-gmail (кросплатформний, спеціалізований помічник для автентифікації облікових записів Gmail)

  • git-credential-outlook (кросплатформний, спеціалізований помічник для автентифікації облікових записів Microsoft Outlook)

  • git-credential-yahoo (кросплатформний, спеціалізований помічник для автентифікації облікових записів Yahoo)

  • git-credential-aol (кросплатформний, спеціалізований помічник для автентифікації облікових записів AOL)

Ви також можете переглянути gitcredentials[7] для отримання додаткових помічників автентифікації на основі OAuth.

Proton Mail не надає SMTP-сервер для надсилання електронних листів. Якщо ви є платним клієнтом Proton Mail, ви можете скористатися Proton Mail Bridge, офіційно наданим Proton Mail, для створення локального SMTP-сервера для надсилання електронних листів. Як для безкоштовних, так і для платних користувачів можна використовувати проекти, що підтримуються спільнотою, такі як git-protonmail.

Примітка: потрібні такі основні модулі Perl, які можуть бути встановлені разом з вашим дистрибутивом Perl:

Також потрібні ці додаткові модулі Perl:

Використання опції sendmailCmd команди git send-email

Окрім надсилання електронних листів через SMTP-сервер, git send-email також може надсилати електронні листи через будь-яку програму, яка підтримує команди, подібні до sendmail. Ви можете ознайомитися з документацією --sendmail-cmd=<команда> вище для отримання додаткової інформації. Ця можливість може бути дуже корисною, якщо ви хочете використовувати іншу програму як SMTP-клієнт для git send-email, або якщо ваш постачальник послуг електронної пошти використовує власні API замість SMTP для надсилання електронних листів.

Як приклад, давайте розглянемо, як налаштувати msmtp, популярний SMTP-клієнт, який можна знайти в багатьох дистрибутивах Linux. Відредагуйте ~/.gitconfig, щоб вказати git-send-email використовувати його для надсилання електронних листів.

[надіслати електронну пошту]
	sendmailCmd = /usr/bin/msmtp # Change this to the path where msmtp is installed

Посилання на кількох таких помічників, що підтримуються спільнотою, є:

  • msmtp (популярний SMTP-клієнт з багатьма функціями, доступний для Linux та macOS)

  • git-protonmail (кросплатформний клієнт, який може надсилати електронні листи за допомогою API ProtonMail)

  • git-msgraph (кросплатформний клієнт, який може надсилати електронні листи за допомогою Microsoft Graph API)

ДИВ. ТАКОЖ

GIT

Частина набору git[1]