mac 上配置 git send-email

背景:周末在家,因工作需要给社区发邮件,但在 mac上配置 git send-email时遇到了很多问题,折腾了两个半小时才搞定,值得记录一下。

在公司内网给社区发邮件时,只需要在所用的 Linux服务器上配置好 git send-email的相关信息,就能顺利发出去了,即使群发也可以。但回家后,由于邮件服务器的安全限制,配置好 git send-email后还是不能发出去。

在网上搜了一下,有人说需要使用 msmtp客户端来发邮件,于是尝试了一下,但按照网上给出的配置教程发现还是不行,折腾了一番,终于成功了。下面介绍几个关键点。

  1. 首先,需要在 mac上安装 msmtp软件,命令如下:
$ brew install msmtp

安装好后,可以检查一下 msmtp能否正常工作,以及邮件服务器是否正常,命令如下:

$ /opt/homebrew/bin/msmtp --host=mail.xxxx.cn --serverinfo
SMTP server at mail.xxxxxx.cn (mail.xxxxxx.cn [222.222.222.222]), port 25:
    xxxxxx.cn Anti-spam GT for Coremail System (.xxxxxx.cn[20191106])
Capabilities:
    PIPELINING:
        Support for command grouping for faster transmission
    STARTTLS:
        Support for TLS encryption via the STARTTLS command
    AUTH:
        Supported authentication methods:
        PLAIN LOGIN
This server might advertise more or other capabilities when TLS is active.
  1. 使用 git config配置 sendemail相关信息

使用以下命令配置 git 中 sendemail 相关的配置信息:

$ git config --local user.name "BB AA"
$ git config --local user.email aabb@xxxxxx.cn

$ git config --local format.signoff true
$ git config --local log.date local

$ git config --local sendemail.smtpserver mail.xxxxxx.cn
$ git config --local sendemail.smtpserverport 25
$ git config --local sendemail.smtpencryption starttls

$ git config --local sendemail.smtpuser aabb@xxxxxx.cn
$ git config --local sendemail.smtppas 邮箱密码

$ git config --local sendemail.suppresscc self
$ git config --local sendemail.confirm auto
$ git config --local sendemail.annotate no

上面最后一个配置项 非常关键:一定要配置为 no,即:
git config --local sendemail.annotate no

  1. 编辑 msmtp配置文件

创建 ~/.msmtprc文件,msmtp默认读取该配置文件里的内容,因此需要填写以下信息:

# Set default values for all accounts:
defaults
auth            plain
tls             off
tls_starttls on
#tls_trust_file  /etc/ssl/certs/ca-certificates.crt
logfile         ~/.msmtp.log

#Gmail Account:
account   aabb
host   mail.xxxxxx.cn
port   25
from   aabb@xxxxxx.cn
user   aabb@xxxxxx.cn
password   your_passwd

# Set a default account:
account default : aabb
  1. 设置 ~/.msmtprc文件的访问权限

因为上述配置文件中存在明文密码,按照 msmtp的要求需要对配置文件设置访问权限,命令如下:

$ chmod 0600 ~/.msmtprc
  1. 发送邮件

将上面的内容全部配置好后,如果没有出现什么错误,就可以直接发邮件了,命令如下:

$ git send-email  --to name@xxxx.cn  ./0000-xxxx.patch
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值