Merge branch 'ag/doc-send-email'
The `send-email` documentation has been updated with OAuth2.0 related examples. * ag/doc-send-email: docs: add credential helper for outlook and gmail in OAuth list of helpers docs: improve send-email documentation send-mail: improve checks for valid_fqdn
This commit is contained in:
@@ -509,12 +509,12 @@ include::includes/cmd-config-section-all.adoc[]
|
|||||||
|
|
||||||
include::config/sendemail.adoc[]
|
include::config/sendemail.adoc[]
|
||||||
|
|
||||||
EXAMPLES
|
EXAMPLES OF SMTP SERVERS
|
||||||
--------
|
------------------------
|
||||||
Use gmail as the smtp server
|
Use Gmail as the SMTP Server
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
To use 'git send-email' to send your patches through the GMail SMTP server,
|
To use `git send-email` to send your patches through the Gmail SMTP server,
|
||||||
edit ~/.gitconfig to specify your account settings:
|
edit `~/.gitconfig` to specify your account settings:
|
||||||
|
|
||||||
----
|
----
|
||||||
[sendemail]
|
[sendemail]
|
||||||
@@ -528,6 +528,41 @@ If you have multi-factor authentication set up on your Gmail account, you can
|
|||||||
generate an app-specific password for use with 'git send-email'. Visit
|
generate an app-specific password for use with 'git send-email'. Visit
|
||||||
https://security.google.com/settings/security/apppasswords to create it.
|
https://security.google.com/settings/security/apppasswords to create it.
|
||||||
|
|
||||||
|
You can also use OAuth2.0 authentication with Gmail. `OAUTHBEARER` and
|
||||||
|
`XOAUTH2` are common methods used for this type of authentication. Gmail
|
||||||
|
supports both of them. As an example, if you want to use `OAUTHBEARER`, edit
|
||||||
|
your `~/.gitconfig` file and add `smtpAuth = OAUTHBEARER` to your account
|
||||||
|
settings:
|
||||||
|
|
||||||
|
----
|
||||||
|
[sendemail]
|
||||||
|
smtpEncryption = tls
|
||||||
|
smtpServer = smtp.gmail.com
|
||||||
|
smtpUser = yourname@gmail.com
|
||||||
|
smtpServerPort = 587
|
||||||
|
smtpAuth = OAUTHBEARER
|
||||||
|
----
|
||||||
|
|
||||||
|
Use Microsoft Outlook as the SMTP Server
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Unlike Gmail, Microsoft Outlook no longer supports app-specific passwords.
|
||||||
|
Therefore, OAuth2.0 authentication must be used for Outlook. Also, it only
|
||||||
|
supports `XOAUTH2` authentication method.
|
||||||
|
|
||||||
|
Edit `~/.gitconfig` to specify your account settings for Outlook and use its
|
||||||
|
SMTP server with `git send-email`:
|
||||||
|
|
||||||
|
----
|
||||||
|
[sendemail]
|
||||||
|
smtpEncryption = tls
|
||||||
|
smtpServer = smtp.office365.com
|
||||||
|
smtpUser = yourname@outlook.com
|
||||||
|
smtpServerPort = 587
|
||||||
|
smtpAuth = XOAUTH2
|
||||||
|
----
|
||||||
|
|
||||||
|
SENDING PATCHES
|
||||||
|
---------------
|
||||||
Once your commits are ready to be sent to the mailing list, run the
|
Once your commits are ready to be sent to the mailing list, run the
|
||||||
following commands:
|
following commands:
|
||||||
|
|
||||||
@@ -536,9 +571,25 @@ following commands:
|
|||||||
$ git send-email outgoing/*
|
$ git send-email outgoing/*
|
||||||
|
|
||||||
The first time you run it, you will be prompted for your credentials. Enter the
|
The first time you run it, you will be prompted for your credentials. Enter the
|
||||||
app-specific or your regular password as appropriate. If you have credential
|
app-specific or your regular password as appropriate.
|
||||||
helper configured (see linkgit:git-credential[1]), the password will be saved in
|
|
||||||
the credential store so you won't have to type it the next time.
|
If you have a credential helper configured (see linkgit:git-credential[1]), the
|
||||||
|
password will be saved in the credential store so you won't have to type it the
|
||||||
|
next time.
|
||||||
|
|
||||||
|
If you are using OAuth2.0 authentication, you need to use an access token in
|
||||||
|
place of a password when prompted. Various OAuth2.0 token generators are
|
||||||
|
available online. Community maintained credential helpers for Gmail and Outlook
|
||||||
|
are also available:
|
||||||
|
|
||||||
|
- https://github.com/AdityaGarg8/git-credential-email[git-credential-gmail]
|
||||||
|
(cross platform, dedicated helper for authenticating Gmail accounts)
|
||||||
|
|
||||||
|
- https://github.com/AdityaGarg8/git-credential-email[git-credential-outlook]
|
||||||
|
(cross platform, dedicated helper for authenticating Microsoft Outlook accounts)
|
||||||
|
|
||||||
|
You can also see linkgit:gitcredentials[7] for more OAuth based authentication
|
||||||
|
helpers.
|
||||||
|
|
||||||
Note: the following core Perl modules that may be installed with your
|
Note: the following core Perl modules that may be installed with your
|
||||||
distribution of Perl are required:
|
distribution of Perl are required:
|
||||||
|
|||||||
@@ -133,6 +133,10 @@ Popular helpers with OAuth support include:
|
|||||||
|
|
||||||
- https://github.com/hickford/git-credential-oauth[git-credential-oauth] (cross platform, included in many Linux distributions)
|
- https://github.com/hickford/git-credential-oauth[git-credential-oauth] (cross platform, included in many Linux distributions)
|
||||||
|
|
||||||
|
- https://github.com/AdityaGarg8/git-credential-email[git-credential-gmail] (cross platform, dedicated helper to authenticate Gmail accounts for linkgit:git-send-email[1])
|
||||||
|
|
||||||
|
- https://github.com/AdityaGarg8/git-credential-email[git-credential-outlook] (cross platform, dedicated helper to authenticate Microsoft Outlook accounts for linkgit:git-send-email[1])
|
||||||
|
|
||||||
CREDENTIAL CONTEXTS
|
CREDENTIAL CONTEXTS
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
|||||||
@@ -1359,7 +1359,9 @@ sub process_address_list {
|
|||||||
|
|
||||||
sub valid_fqdn {
|
sub valid_fqdn {
|
||||||
my $domain = shift;
|
my $domain = shift;
|
||||||
return defined $domain && !($^O eq 'darwin' && $domain =~ /\.local$/) && $domain =~ /\./;
|
my $subdomain = '(?!-)[A-Za-z0-9-]{1,63}(?<!-)';
|
||||||
|
return defined $domain && !($^O eq 'darwin' && $domain =~ /\.local$/)
|
||||||
|
&& $domain =~ /^$subdomain(?:\.$subdomain)*$/;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub maildomain_net {
|
sub maildomain_net {
|
||||||
|
|||||||
Reference in New Issue
Block a user