Versões comparadas

Chave

  • Estas linhas foram adicionadas. Esta palavra foi adicionada.
  • Estas linhas foram removidas. Esta palavra foi removida.
  • Formatting was changed.


Using Gmail SMTP OAUTH

 

 

The Gmail IMAP and SMTP servers have been extended to support authorization via the industry-standard OAuth 2.0 protocol. Using OAUTH protocol, user can do authentication by Gmail Web OAuth instead of inputting user and password directly in application. This way is more secure, but a little bit complex.

https://developers.google.com/gmail/oauth_overview?hl=en

Create your project in Google Developers Console

To use Gmail OAUTH in your application, you must create a project in Google Developers Console at first.

...

Algumas aplicações que operam em nível de servidor precisam de uma Conta de Serviço para que o envio de e-mails através do Google possa ser realizado. Isso é necessário porque, diferentemente do método convencional do OAuth, onde o usuário, a partir de sua estação de trabalho, conecta-se à sua conta Google, uma aplicação em nível de servidor utilizará uma conta 'padrão' para o envio de e-mails. Um exemplo são as contas responsáveis por envio de Notas Fiscais eletrônicas.


Para que uma conta de serviço seja criada, gerando uma um arquivo com a chave de autenticação (p12) para ser usada nestas aplicações em nível servidor, os passos abaixo são necessários.

...

 

Crie seu projeto no Google Console

 Para a criação da conta de serviço OAuth com o Gmail, é necessário criar um projeto.

...

...

Select your project -> APIs & Services -> Dashboard -> Credentials;
Image Removed

...

Credentials -> Create Credentials -> OAuth client ID -> Web application or Other (Desktop Application). It depends on your application type.
Image Removed

...

Input a name for your application, input your current ASP/ASP.NET URL at Authorized redirect URIs, for example: http://localhost/gmailoauth/default.aspx. (Desktop Application doesn't require this step)

...

Click "Create", you will get your client id and client secret:
Image Removed

...

Enable Gmail API in "Library" -> Search "Gmail", then click "Gmail API" and enable it.
Image Removed

...

You should set detail information for your project at "OAuth consent screen" -> "Edit App".
Image Removed

...

Finally add "https://mail.google.com/" and "../auth/gmail.send" scopes at "OAuth consent screen" -> "Edit App" -> "Scopes for Google API".
If you use Gmail RESTFul API to send email, please only use "../auth/gmail.send" scope to avoid your app throttled.
Image Removed

Scope Remarks

Gmail supports SMTP + OAUTH, but the API (https://mail.google.com/) scope is restricted API which requests to have full access to the Gmail account. Restricted API is throttled before your project is authenticated in by Google.

Using less restricted API (https://www.googleapis.com/auth/gmail.send) scope to send email via Gmail server is recommended.

  • Image Added


     

  • Selecione seu projeto na parte superior da tela, ao lado do ícone do Google Cloud.

    Image Added

     


  • No menu à esquerda, selecione Contas de serviço;

  • Clique em Criar conta de serviço.

  • Preencha as informações solicitadas para a criação da conta de serviço. 

    Image Added



  • Os passos 2 e 3 do formulário são opcionais, sendo de escolha do cliente preenchê-los ou não.

     

    Image Added

  • Ao clicar em Concluir, sua conta de serviço será criada.


     


  • Após criada, a conta de serviço ficará visível no painel Contas de serviço.

     Image Added


  • Criação de uma Chave P12 para uso nas aplicações
  • Para algumas aplicações, pode ser necessário criar uma chave P12. Para gerá-la:
    • Selecione a conta de serviço criada e clique no ícone de Ações (3 pontos).
    • Escolha a opção Gerenciar Chaves.

    Image Added
     
    Na tela que se abre, selecione a opção Adicionar Chave e selecione P12:
    Image Added

  • A chave P12 será gerada e poderá ser armazenada localmente para uso nas aplicações que requerem esse tipo de autenticação.

 

 

...