git-imap-send
将 stdin 中的补丁集合发送到 IMAP 文件夹
概要
'git imap-send' [-v] [-q] [--[no-]curl] [(--folder|-f) <folder>]
'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=<folder>- 指定必须保存电子邮件的文件夹。例如:--folder=[Gmail]/Drafts或-f INBOX/Drafts。--curl- 使用 libcurl 与 IMAP 服务器通信,除非通过隧道连接。如果 Git 在未设置 USE_CURL_FOR_IMAP_SEND 选项的情况下构建,则忽略。--no-curl- 使用 git 自己的 IMAP 例程而不是使用 libcurl 与 IMAP 服务器通信。如果 Git 在设置了 NO_OPENSSL 选项的情况下构建,则忽略。--list- 运行 IMAP LIST 命令以输出所有存在的文件夹列表。
配置
要使用该工具,必须将 imap.folder 和 imap.tunnel 或 imap.host 设置为适当的值。
imap.folder- 用于放置邮件的文件夹,通常是草稿文件夹。例如:INBOX.Drafts、INBOX/Drafts或[Gmail]/Drafts。必须指定要交互的 IMAP 文件夹;当未给出--folder选项时,此配置变量的值用作后备默认值。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 服务器身份验证的方法。
获取可用文件夹列表
要将电子邮件发送到特定文件夹,您需要知道邮箱中目标文件夹的正确名称。各种电子邮件客户端显示的 "Junk"、"Trash" 等名称不一定是电子邮件提供商邮件服务器中存储的文件夹的实际名称。
要获取与 git imap-send 一起使用的正确文件夹名称,您可以运行 git imap-send --list。这将显示有效文件夹名称的列表。
示例
使用隧道模式:
[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使用 Gmail 的 IMAP 接口:
[imap]
folder = "[Gmail]/Drafts"
host = imaps://imap.gmail.com
user = user@gmail.com
port = 993Gmail 不允许使用常规密码进行 git imap-send。如果您在 Gmail 帐户上设置了多因素身份验证,您可以生成用于 git imap-send 的应用程序专用密码。
使用 Outlook 的 IMAP 接口:
[imap]
folder = "Drafts"
host = imaps://outlook.office365.com
user = user@outlook.com
port = 993
authmethod = XOAUTH2注意事项
确保您的电子邮件程序发送的电子邮件消息符合项目标准仍然是您的责任。许多项目不喜欢附加补丁。某些邮件代理会以使补丁失败的方式转换补丁。如果您不检查这一点,您会收到愤怒的指责。
Thunderbird 尤其存在问题。Thunderbird 用户可能希望访问此网页了解更多信息:https://kb.mozillazine.org/Plain_text_e-mail_-_Thunderbird#Completely_plain_email
另请参阅
git-format-patch(1), git-send-email(1), mbox(5)
Git
git(1) 套件的一部分
