O que significa "Enviar em nome de" em API de E-mail?
Enviar e-mails em nome de um usuário significa que seu aplicativo envia mensagens diretamente da caixa de correio do usuário, não de um remetente transacional compartilhado. O destinatário vê o endereço de e-mail real do usuário no campo "De". Esta é a base de qualquer produto SaaS que lida com e-mails para seus usuários.
O que você aprenderá
Por que produtos SaaS precisam de envio de e-mail em nome de terceiros
A maioria dos produtos SaaS que lidam com e-mail eventualmente enfrentam o mesmo requisito: o usuário quer que as mensagens venham de seu próprio endereço, e não de um domínio genérico da plataforma. Seja um CRM, um assistente de escrita de IA ou uma ferramenta de suporte, no momento em que seu produto envia e-mails para os usuários, você precisa do envio em nome de terceiros. Eis o porquê isso é importante – e como os três principais casos de uso se mapeiam para a API.
Vendedores enviam de seus Gmail ou Outlook reais
No contexto de um CRM, o vendedor é quem constrói o relacionamento. Se a sua plataforma envia follow-ups de noreply@yourcrm.com, a entregabilidade cai e o prospect fica confuso. Com o envio em nome de, seu CRM chama a API da Unipile usando a conta vinculada do vendedor. Cada e-mail chega à caixa de entrada do prospect mostrando o endereço real do representante.
IA redige e envia da caixa de correio do usuário
Assistentes de e-mail com IA – seja para rascunhar respostas automaticamente, agendar acompanhamentos ou resumir conversas – precisam de acesso de escrita à caixa de entrada do usuário. Sem o envio em nome de terceiros, a IA só pode sugerir; ela não pode executar. Com uma conta vinculada através da API Unipile, seu assistente pode enviar a mensagem aprovada diretamente do Gmail ou Outlook do usuário com uma única chamada de API.
Agentes de suporte respondem a partir de uma caixa de entrada de suporte compartilhada
Plataformas de suporte ao cliente frequentemente roteiam tickets através de uma caixa de entrada compartilhada como support@company.com. Essa caixa de entrada é, em si, uma caixa de correio – ela precisa ser vinculada como uma conta. Com o Unipile, sua plataforma pode conectar essa caixa de correio compartilhada do Outlook ou IMAP, permitindo que qualquer agente envie respostas que pareçam vir diretamente do endereço oficial de suporte, com o contexto completo do histórico preservado.
POST /api/v1/emails o endpoint lida com contas Gmail, Outlook e IMAP.Como a API de E-mail On-Behalf Funciona (Fluxo OAuth 2.0)
Enviar e-mail em nome de um usuário requer três coisas: o consentimento do usuário, um token de acesso válido e uma chamada de envio através da infraestrutura do provedor. Veja como esse fluxo funciona na prática e como o Unipile o abstrai em uma única API unificada. Para uma referência técnica mais ampla sobre endpoints de envio, parâmetros e diferenças entre provedores, consulte nosso guia completo. guia da API de envio de e-mail.
Usuário concede permissão OAuth
O usuário clica em "Conectar seu e-mail" dentro do seu produto SaaS. A Unipile o redireciona para a tela de consentimento OAuth do provedor – Google para usuários do Gmail, Microsoft para usuários do Outlook e Microsoft 365. O usuário faz login e aprova os escopos solicitados, que incluem a capacidade de enviar e-mails em seu nome. Nenhuma senha é jamais compartilhada com seu aplicativo.
Seu aplicativo recebe um ID de conta vinculada
Assim que o usuário completa o fluxo OAuth, o Unipile armazena o token de acesso de forma segura e retorna um account_id para sua aplicação. Este é um identificador estável para a caixa de correio vinculada do usuário. Você armazena este ID em seu banco de dados associado ao registro do usuário. Todas as operações de e-mail subsequentes para este usuário referenciam este account_id - você nunca toca no token OAuth bruto.
Enviar através da infraestrutura do provedor
Quando sua aplicação precisa enviar um e-mail, ela chama POST /api/v1/emails com o account_id e a carga útil da mensagem. Unipile roteia a solicitação através do provedor correto: API do Gmail para contas Google, API do Microsoft Graph para contas Outlook e Microsoft 365, e SMTP para contas IMAP. O e-mail é enviado da caixa de correio do próprio usuário e aparece na pasta Enviados.
Exemplos de código
import solicitações # id_da_conta recuperado após o usuário concluir o fluxo OAuth UNIPILE_DSN = "https://api1.unipile.com:13301" ACCESS_TOKEN = "SEU_TOKEN_DE_ACESSO" ID_DA_CONTA = "id_da_conta_do_usuario_do_bd" payload = { "id_da_conta": ID_DA_CONTA, "para": [{ "nome_exibido": "Sarah Connor", "identificador": "sarah@acme.com" }], "assunto": "Dando seguimento à nossa conversa", "corpo": "Oi Sarah, só para retomar...
" response = requests.postagem( f"{UNIPILE_DSN}/api/v1/emails", json=payload, headers={"X-API-KEY": ACCESS_TOKEN} ) print(response.json()) # {"object": "EmailSent", "email_id": "..."}
// id_da_conta recuperado após o usuário completar o fluxo OAuth const UNIPILE_DSN = "https://api1.unipile.com:13301"; const ACCESS_TOKEN = "SEU_TOKEN_DE_ACESSO"; const ID_DA_CONTA = "id_da_conta_do_usuario_do_bd"; const payload = { account_id: ID_DA_CONTA, para: [{ nome_de_exibição: "Sarah Connor", identificador: "sarah@acme.com" }], assunto: "Dando seguimento à nossa conversa", corpo: "Oi Sarah, só para retomar...
" }; const response = await fetch(${UNIPILE_DSN}/api/v1/emails, { método: "POST", cabeçalhos: { "X-API-KEY"TOKEN_DE_ACESSO, "Tipo-de-Conteúdo": "application/json" }, corpoJSON.stringify(carga útil) }); const data = await resposta.json(); console.log(dados); // { object: "EmailSent", email_id: "..." }
API de E-mail On-Behalf vs. Transacional: A Diferença Chave
Essas duas categorias de API de e-mail resolvem problemas fundamentalmente diferentes. Misturá-las é o erro mais comum que as equipes cometem ao especificar uma integração de e-mail. Veja como elas se comparam em todas as dimensões que importam.
Crie o Envio de E-mail em Nome de com o Unipile
A Unipile fornece uma única API unificada que abstrai Gmail, Outlook e IMAP por trás de uma interface consistente. Você cria uma integração – a Unipile cuida dos fluxos OAuth específicos do provedor, atualização de tokens, roteamento SMTP e tratamento de erros para os três. Veja o que está disponível para cada provedor.
Enviar E-mail em Nome do Usuário API - Perguntas Frequentes
Perguntas comuns sobre envio de e-mails em nome de terceiros com Unipile
Sim, desde que o usuário conceda permissão explicitamente. O envio de e-mails em nome de terceiros é baseado no OAuth 2.0 (para Gmail e Outlook) ou no compartilhamento explícito de credenciais (para IMAP). Em ambos os casos, o usuário autoriza conscientemente seu aplicativo a enviar e-mails de sua caixa de correio. Este é o mesmo mecanismo usado por todos os principais clientes de e-mail e ferramentas de produtividade.
Os principais requisitos de conformidade são:
- O usuário deve consentir ativamente antes que você envie algo em nome dele
- Sua política de privacidade deve informar que você acessa e envia e-mails da caixa de correio do usuário.
- O usuário poderá revogar o acesso a qualquer momento (revogação do OAuth ou desconexão da conta)
- Você não deve enviar conteúdo que viole os termos de serviço do provedor (por exemplo, spam)
Não é legal para enviar do endereço de alguém sem o consentimento desta. O fluxo de link baseado em OAuth da Unipile garante que você sempre tenha autorização explícita do usuário antes de qualquer operação de envio.
O destinatário vê o domínio do próprio usuário no campo De - não o domínio da sua plataforma. Este é o principal argumento de venda do envio em nome de. Por exemplo, se um representante de vendas com o endereço john@acme.com vinculou sua conta do Gmail, cada e-mail enviado através do seu CRM pela Unipile mostrará De: john@acme.com.
O email é enviado através do provedor de email real do usuário (API do Gmail, Microsoft Graph ou SMTP), o que significa que:
- Os registros SPF passam porque o IP remetente é autorizado pelo domínio do usuário
- As assinaturas DKIM são válidas porque o provedor assina com a chave de domínio do usuário
- alinhamento DMARC passa pelas mesmas razões
Isso é fundamentalmente diferente de uma API transacional onde você envia de uma infraestrutura compartilhada e o destinatário vê o domínio da sua plataforma.
Os escopos necessários dependem do provedor. O Unipile lida com a tela de consentimento OAuth automaticamente – seus usuários verão uma caixa de diálogo padrão de permissão do Google ou da Microsoft. Os escopos exatos solicitados são:
- Gmail: o escopo da API do Gmail que permite enviar mensagens
https://mail.google.com/ou o mais limitadogmail.enviarescopo se você só precisar de acesso para enviar) - Outlook / Microsoft 365: Microsoft Graph
Mail.Sendescopo, maisMail.ReadWritese você também precisar ler ou sincronizar a caixa de entrada - IMAP: o usuário fornece o nome do host IMAP, porta, nome de usuário e a senha ou uma senha específica do aplicativo (necessária para contas com autenticação de dois fatores ativada)
Os usuários podem revogar essas permissões a qualquer momento nas configurações de segurança de suas contas Google ou Microsoft, ou desconectando a conta vinculada dentro do seu produto.
Sim. Qualquer caixa de correio que possa ser autenticada via OAuth ou credenciais IMAP pode ser vinculada como uma conta Unipile. Isso inclui:
- Caixas de correio compartilhadas no Microsoft 365 (por exemplo,. support@company.com) - vinculado por meio de uma conta de serviço com as permissões delegadas corretas
- Caixas de entrada compartilhadas do Google Workspace e endereços de grupo com permissões de Enviar como configuradas
- Qualquer alias de e-mail que seja tratado por uma caixa de correio acessível por IMAP
Você também pode personalizar o nome de exibição no campo De usando a from parâmetro na carga útil da API, sem alterar o endereço de envio subjacente.
A Unipile lida com a atualização de tokens automaticamente para contas Gmail e Outlook. Tokens de acesso OAuth normalmente expiram após uma hora, mas o token de atualização tem longa duração. Quando a Unipile detecta um token de acesso expirado antes de uma operação de envio, ela solicita silenciosamente um novo usando o token de atualização armazenado - sua aplicação nunca vê isso acontecer e a chamada de envio é concluída normalmente.
A única vez em que você precisa solicitar a reautenticação do usuário é se ele tiver acesso revogado manualmente a partir das configurações de sua conta Google ou Microsoft. Unipile exibe isso como uma alteração no status da conta, que você pode detectar via webhook ou consultando o endpoint da conta.
Ainda tem dúvidas? Nossa equipe está aqui para ajudar.