Git
英文 ▾ 主題 ▾ 最新版本 ▾ git-imap-send 最後更新於 2.43.1

名稱

git-imap-send - 從 stdin 發送一系列修補程式到 IMAP 資料夾

概要

git imap-send [-v] [-q] [--[no-]curl]

描述

此命令將使用 git format-patch 產生的郵件箱上傳到 IMAP 草稿資料夾。這允許在使用無法直接讀取郵件箱檔案的郵件用戶端時,像發送其他電子郵件一樣發送修補程式。此命令也適用於任何一般郵件箱,其中電子郵件的欄位依序為「From」、「Date」和「Subject」。

典型的用法如下

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

選項

-v
--verbose

顯示詳細資訊。

-q
--quiet

保持安靜。

--curl

使用 libcurl 與 IMAP 伺服器通訊,除非透過通道連線。如果 Git 的建置沒有設定 USE_CURL_FOR_IMAP_SEND 選項,則會被忽略。

--no-curl

使用 Git 自己的 IMAP 例程與 IMAP 伺服器通訊,而不是使用 libcurl。如果 Git 的建置有設定 NO_OPENSSL 選項,則會被忽略。

配置

若要使用此工具,必須將 imap.folderimap.tunnelimap.host 設定為適當的值。

此部分中此行以上的所有內容不包含在 git-config[1] 文件中。接下來的內容與其中找到的內容相同

imap.folder

要將郵件放入的資料夾,通常是草稿資料夾。例如:「INBOX.Drafts」、「INBOX/Drafts」或「[Gmail]/Drafts」。為必填項。

imap.tunnel

用於建立連線到 IMAP 伺服器的通道的命令,命令將通過該通道傳輸,而不是使用直接網路連線到伺服器。當未設定 imap.host 時為必填項。

imap.host

識別伺服器的 URL。對於非安全連線使用 imap:// 前綴,對於安全連線使用 imaps:// 前綴。當設定 imap.tunnel 時會被忽略,但否則為必填項。

imap.user

登入伺服器時要使用的使用者名稱。

imap.pass

登入伺服器時要使用的密碼。

imap.port

連線到伺服器的整數連接埠號碼。imap:// 主機的預設值為 143,imaps:// 主機的預設值為 993。當設定 imap.tunnel 時會被忽略。

imap.sslverify

一個布林值,用於啟用/停用 SSL/TLS 連線所使用的伺服器憑證驗證。預設值為 true。當設定 imap.tunnel 時會被忽略。

imap.preformattedHTML

一個布林值,用於啟用/停用發送修補程式時使用 html 編碼。html 編碼的修補程式將以 <pre> 包圍,且內容類型為 text/html。諷刺的是,啟用此選項會導致 Thunderbird 將修補程式作為 plain/text、format=fixed 電子郵件發送。預設值為 false

imap.authMethod

指定使用 IMAP 伺服器進行驗證的驗證方法。如果 Git 的建置有設定 NO_CURL 選項,或者您的 curl 版本早於 7.34.0,或者您使用 --no-curl 選項執行 git-imap-send,則唯一支援的方法是 CRAM-MD5。如果未設定此選項,則 git imap-send 會使用基本的 IMAP 純文字 LOGIN 命令。

範例

使用通道模式

[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
注意
當您懷疑連線問題的原因是您在嘗試設定(或已設定)的私人伺服器 example.com 上使用的憑證可能未正確驗證時,您可能需要在疑難排解時使用 sslVerify=false

使用 Gmail 的 IMAP 介面

[imap]
	folder = "[Gmail]/Drafts"
	host = imaps://imap.gmail.com
	user = user@gmail.com
	port = 993
注意
如果您收到「資料夾不存在」的錯誤,您可能需要改用:folder = "[Google Mail]/Drafts"
注意
如果您的 Gmail 帳戶設定為其他語言而非英文,「草稿」資料夾的名稱將會是本地化的。

一旦提交準備好發送,請執行以下命令

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

請務必在電子郵件用戶端中停用換行(無論如何,Gmail 的網頁介面都會換行,因此您需要使用真正的 IMAP 用戶端)。

注意

您仍然有責任確保您的電子郵件程式發送的電子郵件符合您專案的標準。許多專案不希望修補程式以附件的形式發送。某些郵件代理程式會以使其失敗的方式轉換修補程式(例如,換行、將其作為 format=flowed 發送)。如果您不檢查這一點,您將會收到憤怒的斥責。

眾所周知,Thunderbird 特別容易出問題。Thunderbird 使用者可能希望訪問此網頁以取得更多資訊:https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email

另請參閱

GIT

屬於 git[1] 套件的一部分

scroll-to-top